如何正确地将文本框的值绑定回可观察数组中的模型?

我有一个具有可观察数组的模型,我可以在文本框中显示数据,但我无法弄清楚如何将其绑定回原始数组。如何正确地将文本框的值绑定回可观察数组中的模型?

这里是工作sample我有。

<ul data-bind='foreach: frameworks'> 

<li>

<button class='btn' value='pick me'

data-bind='text: name, click: $parent.selectFramework'>

</button>

</li>

</ul>

<input type='text' data-bind='value: selectedFramework().name' />

<pre data-bind='text: ko.toJSON($root.selectedFramework, null, 4)'>

</pre>

var Framework = {

name: ''

};

var App = new function() {

var self = this;

self.frameworks = ko.observableArray();

self.selectFramework = function (item) {

self.selectedFramework(item);

};

self.selectedFramework = ko.observable(Framework);

};

App.frameworks([{name: 'foo'}, {name: 'bar'}]);

ko.applyBindings(App);

回答:

你快到了。你需要在每个框架的observable上创建'name'属性。我已更新您的JsFiddle here

App.frameworks([{ 

name: ko.observable('foo')

}, {

name: ko.observable('bar')

}]);

回答:

值只存储在您的selectedFramework观察到的,所以你就能够通过App.selectedFramework访问它()。 observable不采取任何变量并使其可观察,它将存储您在内部传递的任何值。如果你想更新外部的Framework变量,你可以在你的selectFramework函数中做到这一点。

self.selectFramework = function (item) { 

self.selectedFramework(item);

Framework = item;

};

以上是 如何正确地将文本框的值绑定回可观察数组中的模型? 的全部内容, 来源链接: utcz.com/qa/262558.html

回到顶部