我刚开始阅读,并通过一些知识教程,非常喜欢它,但不能自己做一个简单的样本。这是HTML代码
<input id="Button2" type="button" value="+" data-bind="click:increment" />
<input id="Text1" type="text" data-bind="text:foo" />
和js代码:
<script type="text/javascript">
function AppViewModel() {
this.foo = ko.observable('0');
this.increment = function () {
alert(foo);
foo += 1;
};
}
ko.applyBindings(new AppViewModel());
</script>
基本上我希望jsut通过单击按钮来增加文本框值。我还在头文件中包含了以下js文件:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script>
<script src="Scripts/knockout-2.1.0.debug.js" type="text/javascript">
我还缺少什么?任何帮助将不胜感激
答案 0 :(得分:1)
您正在输入上使用文本绑定。设置输入的文本没有任何明显的作用。
您需要使用值绑定。像这样。
<input id="Button2" type="button" value="+" data-bind="click:increment" />
<input id="Text1" type="text" data-bind="value:foo" />
您还需要通过调用observable函数来分配foo元素。
function AppViewModel() {
var self = this;
this.foo = ko.observable(0);
this.increment = function () {
self.foo(self.foo() + 1);
};
}
http://jsfiddle.net/madcapnmckay/wdVYe/
希望这有帮助。