Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Coffeescript Ember.js PushObject未在ArrayController中插入对象_Coffeescript_Ember.js - Fatal编程技术网

Coffeescript Ember.js PushObject未在ArrayController中插入对象

Coffeescript Ember.js PushObject未在ArrayController中插入对象,coffeescript,ember.js,Coffeescript,Ember.js,我有以下ArrayController: Lead.Controllers.Leads = Ember.ArrayController.extend init: -> content: Ember.A() @view = Ember.View.create controller: @ templateName: 'app/templates/leads/list' @view.appendTo $('#leads') addLe

我有以下ArrayController:

Lead.Controllers.Leads = Ember.ArrayController.extend
  init: ->
    content: Ember.A()

    @view = Ember.View.create
      controller: @
      templateName: 'app/templates/leads/list'

    @view.appendTo $('#leads')

  addLead: (data) ->
    lead = Lead.Lead.create()
    lead.setProperties JSON.parse data
    console.log lead.get 'company'
    debugger
    @pushObject lead
    console.log @get('length')
问题是在调用push对象后,长度仍然是
0
。我真的看不出我做错了什么

有人能看出我做错了什么吗?我唯一能想到的是,通过
Ember.A()
将内容设置为空数组


我不知道还有什么问题。

我不太确定你的问题在哪里,因为我a)不知道或不使用CoffeeScript,b)没有JSFIDLE或工作示例。但是如果我读对了,你会尝试做以下的事情:按照预期工作。希望这能为您指明正确的方向。

这是一个咖啡脚本语法错误。
有两种解决方案(取决于您想要实现的内容)

第二个示例将对控制器的每个实例使用相同的数组。
另外,我建议在重写init方法时调用
@_super()
,否则您可能会在某些类中得到一些意外的结果

Ember.ArrayController.extend
  init: ->
    @_super()
    @set 'content', Ember.A()
    # content

Ember.ArrayController.extend
  content: Ember.A()
  init: ->
    @_super()
    # content

谢谢,我不是从init打电话给_super()。这是我错过的一点。遗憾的是,这是必要的。