我有以下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()
设置为空数组。
我不知道它还能是什么。
答案 0 :(得分:1)
我不太确定你的问题在哪里因为我a)不知道或使用CoffeeScript而b)没有jsFiddle或工作示例。但是,如果我正确地阅读了这一点,您尝试执行以下操作:See this jsFiddle按预期工作。希望能指出你正确的方向。
答案 1 :(得分:1)
这是 Coffee Script 语法错误 有两种解决方案(取决于您要实施的内容)。
第二个示例将为控制器的每个实例使用相同的数组
另外,我建议在覆盖init方法时调用@_super()
,否则在某些类中可能会出现意外结果。
Ember.ArrayController.extend
init: ->
@_super()
@set 'content', Ember.A()
# content
Ember.ArrayController.extend
content: Ember.A()
init: ->
@_super()
# content