KnockoutJS - 选择下拉绑定不起作用

时间:2016-01-13 03:11:54

标签: javascript jquery knockout.js

我正在开发一个项目来使用knockout构建一个CRUD系统,并通过AJAX获取并保存我的数据。绑定选择下拉列表时遇到问题。当我尝试编辑事件时,我收到以下错误:

Uncaught TypeError: Cannot read property 'push' of undefined

我创建了一个jsfiddle http://jsfiddle.net/rqwku4kb/20/来演示这个问题。我还在处理删除并添加一个新的事件链接,因此他们还没有工作,但我正在单独工作。

以下是导致我出现问题的代码。

self.ShowMeTheCurrentSelectedIncident = function(data) {
    self.currentIncident();
    self.chosen_composante.push([data.Composante]);
};

是否有人知道问题可能在哪里或能够为我提供一些建议?

1 个答案:

答案 0 :(得分:1)

这里的方法是错误的:

self.ShowMeTheCurrentSelectedIncident = function(data) {
        self.currentIncident(); // (1)
        self.chosen_composante.push([data.Composante]); // (2)
    };

这是做什么的:

(1)获取可观察的currentIncident的值,然后扔掉它。它始终为空并且从未设置,因此这是多余的。 (2)引用chosen_composante中不存在的名为IncidentList的未定义变量。

我无法解决这个问题,因为我不确定哪些值会去哪里,但它应该足以让你走上正确的轨道 - 你会混淆IncidentList和Incident的属性