【发布时间】:2015-11-06 17:47:39
【问题描述】:
我正在尝试一个将对象的属性绑定到 UI 的简单示例。
我的例子在这里http://jsfiddle.net/arendu/m14mohda/17/
我有以下 HTML:
The name is <span data-bind="text: personName"></span>
<button type="button" onlick="changeName()">Click Me!</button>
还有下面的js脚本:
var myViewModel = {
personName: ko.observable('Foo'),
personAge: ko.observable(123)
};
var changeName = function () {
myViewModel.personName("Bar")
}
ko.applyBindings(myViewModel);
我的问题是为什么单击按钮时显示的名称不会从“Foo”变为“Bar”?
谢谢
【问题讨论】:
-
你的小提琴说
ko没有定义。 -
我看了这个例子:jsfiddle.net/rniemeyer/lkqtu .. 似乎没有定义 ko 我确定我遗漏了一些东西,我如何在小提琴中定义 ko?
-
小提琴的问题似乎是当jsfiddle默认在https时,您使用http链接到源代码。
-
哇! 15 分钟内三个大致相等的正确答案。
-
@CrimsonChris 谢谢。我有一个快速跟进:changeName 函数是否应该是 myViewModel 的一部分?我知道 myViewModel.personName 充当 Getter/Setter,但触发它的函数应该是 ViewModel 的一部分吗?
标签: javascript knockout.js binding jsfiddle