为什么我的Ember Snippet链接不起作用?我正在设置一个简单的ArrayController并在初始化时用内容填充它。然后我想在{{#each}}的帮助下显示该控制器的内容,但这不起作用。
在我阅读的教程中,总是使用以下结构:
{{#each AppNamespace.myModelController}}
...
{{each}}
但为了使我的例子工作,我必须使用:
{{#each AppNamespace.myModelController.content}}
...
{{/each}}
你能看看提供的小提琴并告诉我它有什么问题吗?我认为我一定做错了,因为我经常在教程中看到这种模式。
注意:我是来自Java Server Development的Javascript初学者。因此,我正在努力解决JS基础问题。
我会在这里发布完整的代码,但格式化不正常。
答案 0 :(得分:3)
在init方法中添加对this._super()
的调用。
https://github.com/emberjs/ember.js/pull/1251
此外,与您的问题没有直接关系,但看起来您会从这里阅读#6中受益:http://codebrief.com/2012/03/eight-ember-dot-js-gotchas-with-workarounds/
答案 1 :(得分:1)
尝试使用http://cloud.github.com/downloads/emberjs/ember.js/ember-0.9.6.min.js而不是1.0,但在两种情况下都能正常工作。
答案 2 :(得分:1)
我开始自己看看Ember,我很关心你正在使用的过程。
据我所知,你不应该直接从控制器那里检索数据。您使用的模式应基于模型,控制器,视图和路由器。
http://trek.github.com/是我在学习Ember时发现有用的资源。
基于这个例子,这将是我对小型余烬测试应用程序的看法:
希望这对你有用处作为起点。
答案 3 :(得分:0)
如果你将1个参数传递给#each帮助器,它需要是一个Ember.Array兼容对象 - 在你的第一个例子中,当你的数据在content属性中时你传递控制器..你的第二个例子是有效的,因为你通过了内容属性..如果您愿意,可以这样做。
然而,您可能会更频繁地看到#each助手的替代语法,它使用元素命名{{#each model in myModelController}}
... {{/each}}
。当你这样做时,Ember负责为你寻找内容属性,因为它是视图的默认渲染上下文。
假设您正在使用Github的最新版本,您会发现它会在两种情况下都寻找内容,因此一旦发布稳定,这一点就变得毫无意义了。