Как мне опубликовать наблюдаемую модель представления - PullRequest
0 голосов
/ 14 сентября 2018

когда моя страница viewEdit начинает работать, я устанавливаю this.viewModel $ примерно так:

viewModel$ = new Observable<any>();
.
.
.

this.viewModel$ = this.sb.getMachineToolWithMaintenance(this.id).pipe(
  map((x:any) => { 
    const { maintenanceList, ...viewEditModel } = x.response;

    return { 
      viewEditModel: viewEditModel, 
      maintenanceList: maintenanceList,
      recentMaintenance: this.getMostRecentMaintenance(maintenanceList)
    }
  })
)

В представлении, которое я использую

<div *ngIf="viewModel$ | async as vm" class="container-fluid">

, чтобы распаковать мои наблюдаемые на странице.

У меня проблемы с выяснением того, как получить данные this.viewModel $ .viewEditModel, чтобы я мог опубликовать эти данные при сохранении.

В настоящее время сохранение представляет собой подписку на панель кнопок, которую прослушиваетonSave $ subject, чтобы знать, когда выполнять.

this.saveSubscription$ = this.ds.onSave$.subscribe(x => {
  //in here I want to execute this.sb.updateMachineTool(this.viewModel$.viewEditModel)
})

updateMachineTool - это функция, которая в конечном итоге отправляет сообщения в мой бэкэнд через httpclient.

Как мне распаковать viewModel $, чтобы я мог отправлять нужные данные?

-

Я пытался использовать объекты поведения, но я мог испортить выполнение.

...