簡體   English   中英

KnockoutJS - 重新綁定ViewModel

[英]KnockoutJS - Rebinding ViewModel

我想在viewModel中切換一個具有相同類型的其他對象(例如Person)。 如果我這樣做:

var personViewModel = function (person) {
  var self = this;

  self.id = person.id;
  self.firstName = ko.observable(person.firstName);
  self.lastName = ko.observable(person.lastName);
  self.addresses = ko.observableArray(contact.addresses);

  self.removeAddress = function (address) {
  self.addresses.remove(address);
 }
}

並綁定它:

ko.applyBindings(new personViewModel(person), $("#person")[0]);

它第一次工作得很好,但是如果我第二次將它與另一個對象綁定,第一次綁定就不會消失。

如何在viewModel中輕松切換對象人?

您基本上希望整個視圖模型是可觀察的,然后交換一個新的personViewModel對象。 就像:

var viewModel = {
  person: ko.observable()
};

viewModel.person(new personViewModel(person));

ko.applyBindings(viewModel);

然后,只需交換一個新人,如:

viewModel.person(new personViewModel(newPerson));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM