0
我试图从响应数据更新observable数组。 我确定我错过了一些简单的东西,但是我找不到为什么它不起作用?Knockout js observableArray没有得到更新
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()" />
我设置的测试功能的断点,但它没有被解雇。
它的作品!谢谢! –