Knockout 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);
相关文章:
- 有条件更新d3.js力图中节点的最佳方法
- d3.js用按钮更新条形图工具提示
- React js更改状态不会更新组件
- 谷歌地图/Angular JS:地图更新并不总是反映数据,并且可以't删除标记
- 如何让React JS点击处理程序在执行时更新DOM
- 更新从Mysql查询检索到的数据?Node.js节点mysql
- JS在更新面板后重置
- Node.js错误“;ReferenceError:全局未定义“;在从0.10.2更新到0.12.2之后
- 使用PHP更新external.js中的Javascript变量
- Angular JS-文本框未在独立范围内更新
- 在第三次onPageClick事件后,使用twbspagination插件和AJAX更新JS分页
- 基于元素ID更新JS对象
- 持续更新 JS 变量的 HTML 显示
- 更新JS类的属性基于其他属性
- 在angular $scope中更新JS数组
- Jquery .html()似乎没有更新JS代码
- React Native,自动更新.js文件
- 如何通过ajax更新js对象类型变量
- 如何让grunt用户更新JS来引用我们的图像
- 基于本地存储更新JS对象