2012-10-25 54 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你应该做一个小提琴,看看发生了什么 –