Knockout错误:dataToRetain未定义

时间:2012-05-21 10:35:22

标签: javascript knockout.js

我遇到多个observableArray的问题,并在一个视图模型中添加/删除项目。

该方案基本上是一个联系人管理表单,所以我试图允许他们输入多个电子邮件地址/电话号码等。

这是一个测试用例:

http://jsfiddle.net/8rhv9/

尝试添加一些电子邮件和电话号码,直到错误发生。

如果有帮助,我会使用Firefox 12。

我在淘汰网站上根据此示例创建了我的代码:

http://knockoutjs.com/examples/gridEditor.html

2 个答案:

答案 0 :(得分:3)

您在电话和电子邮件定义中忘记了var self = this;。修复了jsfiddle示例:

http://jsfiddle.net/8rhv9/1/

答案 1 :(得分:1)

我改变了所以这些函数确实是var self =这.....现在似乎工作正常

var self = this;
            self.Number = ko.observable();
            self.Notes = ko.observable();
            self.ContactType = ko.observable();
        };

        var email = function () {
            var self = this;
            self.Email = ko.observable();
            self.Notes = ko.observable();
            self.ContactType = ko.observable();
        };