knockout subscribe和data-bind错误:如何在订阅时进行数据绑定

时间:2013-09-15 15:50:11

标签: knockout.js

以下列方式设置视图模型时,在标记中声明数据绑定的正确方法是什么?

var Info;  // global
function initInfo() {
    Info = function () {
        var self = this;

        self.tag = ko.observable(null);       
        self.blurb = ko.observable(null);

        self.tag.subscribe(function (newValue) {            
           alert(newValue);
       });

    };   
}

我调用绑定所以:

   ko.applyBindings(Info, document.getElementById("tag"));

我在控制台中收到此错误:ReferenceError: tag is not defined带有此标记:

   <input type="text" name="tag" id="tag" data-bind="value:tag" />

但是,如果我将Info视图模型设置为如下对象,则没有这样的问题,并且绑定已成功:

 var Info = {

       tag: ko.observable(null)
       .
       .
       .


   }

1 个答案:

答案 0 :(得分:1)

信息是功能,而不是对象。您需要调用'new Info()'将结果对象传递给applyBindings。