我正在做一个 MVC 项目,我在客户端使用敲除来操作数据。当我从服务器接收数据时,我只需将其传递给 observableArray,如下所示。数据在服务器端转换为 JSON。我以 JSON 形式接收数据。
现在我的问题是淘汰赛,因为当我将数据绑定到文本框时,我想在标签中看到文本框编辑的值,如下所示
<p>First name: <strong data-bind="text: name()[0].firstName "></strong></p>
<p>Last name: <strong data-bind="text: name()[0].lastName"></strong></p>
<input data-bind="value: name()[0].firstName" />
<input data-bind="value: name()[0].lastName" />
var self = this;
self.users= ko.observableArray(@Html.Raw(Model.UserJSON));
我无法让更改的值出现在
元素。但是,如果我有一个 observableArray,它的值在 observable 数组中初始化为 observable ,它也可以正常工作,如下所示。
function name(name, lname)
{
this.firstName = ko.observable(name);
this.lastName = ko.observable(lname);
}
function AppViewModel() {
this.name = ko.observableArray([new name("samet","caglar")]);
}
// Activates knockout.js
ko.applyBindings(new AppViewModel());
我的问题是我是否应该获取我收到的所有数据并将每个 var 定义为可观察的,然后将它们传递给可观察的数组?因为这个解决方案看起来并不高效。也许我错过了什么?