我正在研究一个项目,该项目使用敲除构建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]);
};


会有人知道问题可能在哪里,或者能够向我提供一些建议吗?

最佳答案

这里的方法出了什么问题:

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


这是做什么的:

(1)获得可观察的currentIncident的值,然后将其丢弃。它始终为null且从不设置,因此这是双重冗余。
(2)引用名为chosen_composante的未定义变量,该变量在IncidentList中不存在。

我无法为您解决此问题,因为我不确定要去哪里,但是应该足以使您走上正轨-您混淆了IncidentList和Incident的属性

关于javascript - KnockoutJS-选择下拉列表绑定(bind)不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34757779/

10-12 02:23