問題:サーバーからJsonが戻ってきました。Jsonは、各ビジネスが複数の連絡先を持つことができる一連のビジネスです。連絡先を監視可能な配列にして、連絡先にバインドされているhtml要素が削除時に更新され、配列が編集時に更新されるようにします。
次のjsFiddleを設定しました-http ://jsfiddle.net/rdotlee/GCwjX/1/。
これがjsFiddleからの私のビューモデルです。
var businessViewModel =
{
allBusinesses: ko.observableArray([
{ name: "Biz1", id: 1, Contacts: [{ name: "Joe", email: "test@test", phone: "555-111-1111" }, { name: "Smith", email: "smith@test", phone: "777-111-2223"}] },
{ name: "Biz2", id: 2, Contacts: [{ name: "Joe", email: "test@test", phone: "555-222-1111" }, { name: "Smith", email: "smith@test", phone: "555-111-2222"}] }
]),
businessId: ko.observable(1)
};
businessViewModel.selectedBusiness = ko.dependentObservable(function () {
var biz = this.allBusinesses()[0];
for (var i = 0; i < this.allBusinesses().length; i++) {
if (this.allBusinesses()[i].id == this.businessId()) {
biz = this.allBusinesses()[i];
break;
}
}
return biz;
}, businessViewModel);
businessViewModel.removeContact = function (contact) {
ko.utils.arrayRemoveItem(this.selectedBusiness().Contacts, contact);
ko.applyBindings(businessViewModel, $("#sectionBusinesses")[0]);
} .bind(businessViewModel);
私が必要なことをするための最もクリーンで推奨される方法は何ですか?
ありがとう、