2012-10-25 49 views
1

對於我開發的應用程序Ember.js + Ember Data看起來是一個很好的解決方案。然而,我甚至無法使用這兩個庫的簡單版本工作。問題是我的JSON文件提供的數據未正確加載或顯示。模型將不會從商店加載

我的app.js看起來像。我在邊上運行所有庫。

var App = Em.Application.create({}); 

App.store = DS.Store.create({ 
    revision: 6, 
    adapter: DS.RESTAdapter.create({ 
     bulkCommit: false 
    }) 
}); 

App.Item = DS.Model.extend({ 
    pluginName: DS.attr('string') 
}); 

App.regionController = Em.ArrayController.create({ 
    content: App.store.findAll(App.Item) 
}); 

我有一個模板,看起來像:

<script type="text/x-handlebars"> 
    <ul> 
    {{#each regionController}} 
     <li>{{item}}</li> 
    {{/each}} 
    </ul> 
</script> 

的JSON文件的請求被正確地進行(我看到請求螢火蟲彈出),並具有下列內容:

{ 
    items: [{ 
     "id": "3", 
     "pluginName": "text" 
    }, 
    { 
     "id": "3", 
     "pluginName": "split" 
    }] 
} 

任何人都可以發現我做錯了什麼嗎?

+0

如果切換到燈具適配器,它會如何運行? – atsjj

回答

3

你的模板或許應該是這樣的:

<script type="text/x-handlebars"> 
    <ul> 
     {{#each item in regionController}} 
     <li>{{item.pluginName}}</li> 
     {{/each}} 
    </ul> 
</script> 

讓我知道這是否爲你的作品。

+1

只需添加一下:在Ember中使用路由器時,當前控制器將通過'connectOutlet'注入負責該出口的控制器,所以除了'{{#控制器中的每個項目}}'而不是'{{#region控制器中的每個項目}}'。如果不使用路由器,模板應該看起來像Zack的 – MilkyWayJoe

+0

,不幸的是,以這種方式改變視圖不起作用。仍然清單仍然是空的。 –

+1

@RoelvanDuijnhoven你應該做一個小提琴,看看發生了什麼 –