【发布时间】:2014-12-08 21:46:07
【问题描述】:
当我的 viewModel 具有 observableArray (self.images) 并且我希望将一个项目属性 (mm) 更改为反映在 UI 上时的问题
在实际代码中,图像从服务器加载并映射到对象 DOcImage
这是代码说明,我根据其他问题的答案尝试了一些事情,但还没有运气
这里是小提琴http://jsfiddle.net/mosta/jt6bbeq4/21/ 当点击“更改”时,它应该显示第一项 = 2,根据更新功能中的行
var DocImage = function () {
var self = this;
self.mm = ko.observable('1');
self.nn = ko.observable('1');
};
var viewModel = function () {
var self = this;
self.images = ko.observableArray([DocImage]);
self.update = function () {
self.images()[0].mm = '2';
}
};
var vm = new viewModel();
vm.images = [{ mm: ko.observable('1') ,nn: ko.observable('2') }, {mm:ko.observable('3'), nn:ko.observable('4')}];
ko.applyBindings(vm);
感谢您的帮助,谢谢
【问题讨论】:
-
您可以通过使用新值作为参数调用 observable 来更改 observable 的值。您的代码正在重新分配它,这将不起作用。
-
谢谢,同样愚蠢的 jquery 语法错误(
标签: javascript jquery knockout.js