我正在开发一个项目来使用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]);
};
是否有人知道问题可能在哪里或能够为我提供一些建议?
答案 0 :(得分:1)
这里的方法是错误的:
self.ShowMeTheCurrentSelectedIncident = function(data) {
self.currentIncident(); // (1)
self.chosen_composante.push([data.Composante]); // (2)
};
这是做什么的:
(1)获取可观察的currentIncident
的值,然后扔掉它。它始终为空并且从未设置,因此这是多余的。
(2)引用chosen_composante
中不存在的名为IncidentList
的未定义变量。
我无法解决这个问题,因为我不确定哪些值会去哪里,但它应该足以让你走上正确的轨道 - 你会混淆IncidentList和Incident的属性