2013-01-23 38 views
0

如果我从指数到游戏浏览,数据显示,由于{{#linkTo}}的上下文,但如果我刷新网站,每次游戏名称不显示。emberjs前4烬数据:无数据浏览器的刷新


编辑:这里是一个 fiddle,但不幸的是小提琴版本与灯具适配器正常工作,甚至与肯的建议,从游戏模板中删除模型。


从/ API /游戏返回的数据如下:

{ 
    "games":[ 
     { 
     "id":1, 
     "name":"First Game" 
     } 
    ] 
} 

和从/ API /游戏/ 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

删除模型,试试这个,而不是

<script type="text/x-handlebars" data-template-name="game"> 
    <h1>Name:{{name}}</h1> 
</script> 

的jsfiddle你的代码,看看问题出在哪里

0

从我的服务器的单机游戏的反应是错误的。我有一个单一的对象在其中的阵列,但我使用了对象控制器,所以我通过仅响应而修复了它。

{ 
    "game": { 
    "id": 1, 
    "name": "First Game" 
    } 
}