Ember视图未按预期工作

时间:2014-01-09 21:00:02

标签: ember.js

我遇到了一个奇怪的问题,它可能很容易修复,或者可能遗漏了什么,但我找不到它是什么。这是JS小提琴:http://jsfiddle.net/NQKvy/493/

如果单击“添加一个”按钮,则会出现此错误:

Uncaught TypeError: Cannot set property 'indeterminate' of undefined

这是因为复选框,如果你删除复选框,你将得不到任何其他东西。只有在将第一个元素添加到模型时才会发生这种情况。例如,如果您在路由器中返回此信息:

App.IndexRoute = Ember.Route.extend({
  model: function(){
    return [
      {firstName: 'Kris', lastName: 'Selden'},
      {firstName: 'Luke', lastName: 'Melia'},
      {firstName: 'Formerly Alex', lastName: 'Matchneer'}
    ];
  }
});

将显示该数据。但最奇怪的是,如果你替换模板中的整个表格,如果你把它替换成div,那么小提琴就会起作用,发生了什么?我错过了什么吗?

2 个答案:

答案 0 :(得分:1)

奇怪!我观察到的另一个行为是,如果nice的模板内联如下,则复选框会正确显示。小提琴网址:http://jsfiddle.net/NQKvy/495/

在破坏发生异常的位置时,会显示以下行。

 //Ember.Checkbox :
 didInsertElement: function() {
    this._super();
    this.get('element').indeterminate = !!this.get('indeterminate');
  }

所以我想在这种情况下没有创建父元素。但我对于为什么会发生这种情况一无所知。

答案 1 :(得分:0)

您的视图在表元素内部创建了div,这会导致大多数浏览器内部出现各种问题(除非您转到html5)