2012-11-22 80 views
0

我有一个Ember.js应用程序,它从JSON资源获取其数据,并将其放入一个用于Handlebars.js视图的ember-data模型(不确定术语)。当我尝试把数据放到模板背景下,我得到这个错误:如何从ember-data将模型加载到handlebars.js模板中?

TypeError: arrangedContent.addArrayObserver is not a function 

我做了一个小提琴来证明它。使用the actual Fiddle查看代码,使用下面的链接以查看错误(这使得它试图把数据放到模板/视图):

http://fiddle.jshell.net/WZ4vt/show/#/item/1

s = App.store.find(App.Item, 1); 
s.get('value1'); 

以上工作正常,并返回“测试”。

回答

2

我更新了小提琴:http://jsfiddle.net/WZ4vt/3/

你的错误就是声明你ItemController为ArrayController,但你的数据存储只是返回一个单一的实体。我解决了这个问题,另外还解决了你的车把模板问题,因为这样也无济于事。

因此,这是新的控制器声明:

ItemController: Em.Controller.extend(), 

和更新的模板:

<script type="text/x-handlebars" data-template-name="item"> 
    {{content.value1}} 
    {{content.value2}} 
</script>​ 

这里工作链路:http://fiddle.jshell.net/WZ4vt/3/show/#/item/1

相关问题