【问题标题】:KnockoutJS - Select dropdown binding not workingKnockoutJS - 选择下拉绑定不起作用
【发布时间】:2016-01-16 00:39:56
【问题描述】:

我正在开展一个项目,以使用淘汰赛构建 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]);
};

有没有人知道问题可能出在哪里或者可以给我一些建议?

【问题讨论】:

  • 代码不清晰,但如果你改成这样就可以了:data.chosen_composante.push(data.Composante);
  • 看来我原来的 jsfiddle 没有正确保存,所以它丢失了一些东西。但是您的代码行确实清除了错误。 jsfiddle.net/rqwku4kb/27 现在我的模式无法正确打开,所以我现在想弄清楚。

标签: javascript jquery knockout.js


【解决方案1】:

这里的方法有什么问题:

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

这是做什么的:

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

我无法为您解决此问题,因为我不确定将哪些值放在哪里,但这应该足以让您走上正确的轨道 - 您混淆了 IncidentList 和 Incident 的属性

【讨论】:

    猜你喜欢
    • 2018-04-17
    • 1970-01-01
    • 2015-12-19
    • 1970-01-01
    • 2015-10-28
    • 1970-01-01
    • 1970-01-01
    • 2017-04-19
    • 1970-01-01
    相关资源
    最近更新 更多