javascript - knockout 怎么监控数组元素的变化
本文介绍了javascript - knockout 怎么监控数组元素的变化的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
RT 在input里面输入值,可以改变name 但是不能改变数组的 内容
$(function () {
var person = function(name, children) {
this.name = name;
this.children = ko.observableArray(ko.utils.arrayMap(children,function (item) {
return ko.observable(item)
}));
this.addChild = function() {
this.children.push(" ");
}.bind(this);
}
var model =new person('',[''])
ko.applyBindings(model);
$(".btn").click(function () {
var tmpdata = ko.toJSON(model)
console.log(tmpdata)
});
})
<div><input type="text" data-bind="value:name"></div>
<ul data-bind="foreach:children">
<li><input type="text" data-bind="value:$data"></li><button data-bind="click:$root.addChild">新增</button>
</ul>
<button class="btn">输出数据</button>
解决方案
可以用ko.observableArray()来监听数组的变化
这篇关于javascript - knockout 怎么监控数组元素的变化的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文