Knockout JS中的主要细节

时间:2011-12-24 23:33:51

标签: javascript html5 knockout.js

我做错了什么?我正在尝试创建一个简单的主要详细信息视图和'规范MVVM'示例。

这是JSfiddle中一个不起作用的简化示例:http://jsfiddle.net/UJYXg/2/

我希望在文本框中看到所选“项目”的名称,但它会显示“可观察”?

这是我的违规代码:

var list = [ { name: "item 1"} , { name: "Item 2" }];

var viewModel = {
    items : ko.observableArray(list),
    selectedItem : ko.observable(),
}

viewModel.setItem = function(item) {
    viewModel.selectedItem(item);   
}

ko.applyBindings(viewModel);

和HTML

<ul data-bind="foreach: items">
    <li>
        <button data-bind="click: $root.setItem, text:name"></button>
    </li>
</ul>

<p>
    <input data-bind="value:selectedItem.name" />
</p>

1 个答案:

答案 0 :(得分:3)

你真的很亲密。只需要value: selectedItem().name或更好地使用with绑定来更改范围。此外,您引用的脚本稍微过时(在2.0点击中将数据作为第一个arg传递)。

此处示例:http://jsfiddle.net/rniemeyer/acUDH/