1

我是 ko 的新手,但找不到解决问题的方法。我尝试将我的可绑定属性组织到视图模型层次结构中。根据文档,在我看来,以下内容应该有效,但事实并非如此。你有什么提示吗?

function AppViewModel() {
    this.nested = new NestedViewModel();
}

function NestedViewModel() {
    this.firstName = ko.observable();
     this.lastName = "Bertington";
}

ko.applyBindings(new AppViewModel());

并在这里使用:

<p data-bind="with: nested">

<p>First name: <input type="text" data-bind="value: firstName, valueUpdate: afterkeydown"></input></p>
<p>Last name: <strong data-bind="text: firstName"></strong></p>

</p>
4

1 回答 1

6

您的 HTML 无效。您不能嵌套<p>元素。因此浏览器会自动生成结束标签为<p data-bind="with: nested"></p>.

将外部包装器替换为例如 a<div>以使 HTML 有效并且脚本工作。

此外,它必须是valueUpdate: 'afterkeydown'(加上引号),否则敲除会寻找一个名为“afterkeydown”的可观察对象。

这是一个工作演示:http: //jsfiddle.net/JwWCc/1/

于 2012-08-15T12:11:59.337 回答