如果我从索引浏览到游戏,则会显示数据,因为{{#linkTo}}
的上下文,但是如果我正在刷新网站,则每次游戏名称都没有显示。
<小时/> 编辑:这是一个fiddle,但遗憾的是,带有灯具适配器的小提琴版本工作正常,即使ken建议从游戏模板中移除模型。
来自/ api / games的返回数据如下:
{
"games":[
{
"id":1,
"name":"First Game"
}
]
}
和/ api / games / 1
中返回的数据{
"game": [
{
"id": 1,
"name": "First Game"
}
]
}
<script type="text/x-handlebars" data-template-name="application">
{{outlet}}
</script>
<script type="text/x-handlebars" data-template-name="games">
<ul>{{#each game in controller}}
<li>{{#linkTo 'game' game}}{{game.name}}{{/linkTo}}</li>
{{/each}}</ul>
</script>
<script type="text/x-handlebars" data-template-name="game">
<h1>Name:{{model.name}}</h1>
</script>
<script type="text/javascript">
App = Ember.Application.create();
App.Game = DS.Model.extend({
name: DS.attr('string')
});
App.Store = DS.Store.extend({
revision: 11,
adapter: DS.RESTAdapter.create({
namespace: 'api'
})
});
App.GamesController = Ember.ArrayController.extend({
content: []
});
App.GameController = Ember.ObjectController.extend({
content: null
});
App.Router.map(function(match) {
this.route("games", { path : "/" });
this.route("game", { path : "/games/:game_id" });
});
App.GameRoute = Ember.Route.extend({
model: function(params) {
return App.Game.find(params.game_id);
}
});
App.GamesRoute = Ember.Route.extend({
setupController: function(controller) {
controller.set('content', App.Game.find());
}
});
</script>
有人有想法吗?
答案 0 :(得分:0)
从游戏模板中删除模型,试试这个
<script type="text/x-handlebars" data-template-name="game">
<h1>Name:{{name}}</h1>
</script>
JS找你的代码,看看问题出在哪里
答案 1 :(得分:0)
我的服务器对单个游戏的响应是错误的。我有一个包含单个对象的数组,但是我使用了Object控制器,所以我只用响应来修复它
{
"game": {
"id": 1,
"name": "First Game"
}
}