在函数内更新对象

时间:2013-12-07 23:47:46

标签: javascript knockout.js

有人建议为什么按钮在这里不起作用?我必须有语法错误,但控制台显示没有错误,JS是有效的。 http://jsfiddle.net/FZ6K6/20/

self.msg = function () {
    self.msgbox = { 
        status: "information", 
        message: "Enter some info"
};

2 个答案:

答案 0 :(得分:1)

您正在将构造函数传递给applyBindings()。 由于函数本身没有有用的属性,所以没有任何反应。

您可能希望使用new传递该函数的实例。

答案 1 :(得分:0)

这里有几个问题,包括缺少View Model的实例。 看看我在这个更新的小提琴上发布的笔记: http://jsfiddle.net/FZ6K6/22/

ko.applyBindings(new FormViewModel(),document.getElementById('domElementToBind'));

我们不仅要“新建”FormViewModel的实例,而且我们还专门指定一个DOM元素来应用绑定......这是一种很好的做法。