繁体   English   中英

淘汰赛js observableArray没有得到更新

[英]Knockout js observableArray is not getting updated

我正在尝试从响应数据更新可观察数组。 我敢肯定我错过了一些简单的事情,但是我不知道为什么它不起作用?

 function addWitness() { $.post("AddWintess", { Witnesses: [{ LastName: "test1", FirstName: "test1", MiddleName: "test1" }, { LastName: "test2", FirstName: "test2", MiddleName: "test2" }] }, function(data) { my.viewModel.allItems = ko.observableArray(data.Witnesses); }); } var my = { viewModel: new WitnessesModel() } function WitnessesModel() { var self = this; self.allItems = ko.observableArray([]); self.test = ko.computed(function() { var result = ""; self.allItems().forEach(function(item) { result += item + "; "; }); }); } ko.applyBindings(my.viewModel); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.2.0/knockout-min.js"></script> <ul data-bind="foreach: allItems"> <li data-bind="text: FirstName"></li> </ul> <input type="button" class="btn btn-success" value="+" onclick="addWitness()" /> 

我已经在测试函数中设置了断点,但是没有被触发。

试试这一行my.viewModel.allItems(data.Witnesses); 代替

my.viewModel.allItems = ko.observableArray(data.Witnesses);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM