0

为什么我链接的 Ember Snippet 不起作用?我正在设置一个简单的 ArrayController 并在初始化时用内容填充它。然后我想在 {{#each}} 的帮助下显示这个控制器的内容,但这不起作用。

在我通读的教程中,总是使用以下结构:

{{#each  AppNamespace.myModelController}}
...
{{each}}

但是为了使我的示例工作,我必须使用:

{{#each  AppNamespace.myModelController.content}}
...
{{/each}}

你能看看提供的小提琴并告诉我它有什么问题吗?我认为我一定做错了什么,因为我在教程中经常看到这种模式。

注意:我是来自 Java Server Development 的 Javascript 初学者。所以这可能是我正在努力解决的简单 JS 基础知识。

我会在这里发布完整的代码,但格式无法正常工作。

链接到我的 JS Fiddle 显示我的问题

4

4 回答 4

3

this._super()在您的 init 方法中添加一个调用。

https://github.com/emberjs/ember.js/pull/1251

此外,与您的问题没有直接关系,但看起来您会从阅读 #6 中受益:http: //codebrief.com/2012/03/eight-ember-dot-js-gotchas-with-workarounds/

于 2012-10-15T20:42:34.460 回答
1

尝试使用http://cloud.github.com/downloads/emberjs/ember.js/ember-0.9.6.min.js而不是 1.0 pre 你的小提琴在这两种情况下都可以正常工作。

于 2012-10-15T19:41:47.430 回答
1

我开始自己研究 Ember,我担心你正在使用的过程。

据我所知,您不应该真的像那样直接从控制器中检索数据。您使用的模式应该基于模型、控制器、视图和路由器。

http://trek.github.com/是我在学习 Ember 时发现的有用资源。

基于该示例,这将是我对小型 ember 测试应用程序的看法:

http://jsfiddle.net/zDfBv/

希望这对您有所帮助。

于 2012-10-15T22:26:30.767 回答
0

如果您将 1 个参数传递给 #each 帮助器,则它必须是 Ember.Array 兼容对象——在您的第一个示例中,当您的数据位于 content 属性中时您传递控制器。您的第二个示例有效,因为您传递了 content 属性..如果您愿意,那么这样做并没有错。

但是,您可能会更经常看到 #each 帮助器的另一种语法,它使用元素命名{{#each model in myModelController}}... {{/each}}。当您这样做时,Ember 会为您查找内容属性,因为它是视图的默认呈现上下文。

假设您使用的是 Github 的最新版本,您会发现它在两种情况下都可以查找内容,因此一旦发布为稳定版本,这一点就变得没有意义了。

于 2012-10-15T23:01:54.910 回答