2012-11-22 81 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

相關問題