私はEmber.js1.0.0RC1とember-dataリビジョン12を使用しています
背面にPHPSlimフレームワークがあり、UIとしてEmber.jsがあります。RESTバックエンドからデータをロードしてテンプレートにリストしたい。
だからここに私のコードがあります:
window.App = Ember.Application.create();
// Store
App.Store = DS.Store.extend({
revision: 12,
});
// Adaper
DS.RESTAdapter.reopen({
url: '/slim'
});
// Router
App.Router = Ember.Router.extend();
App.Router.map(function(){
this.route('ads', {path: '/ads'});
});
// Ad model
App.Ad = DS.Model.extend({
title: DS.attr('string')
});
// AdsRoute
App.AdsRoute = Ember.Route.extend({
model: function(){
return App.Ad.find();
}
});
次に、テンプレートのストアからモデルをレンダリングしようとします。
<script type="text/x-handlebars" data-template-name="ads">
<h1>Ads</h1>
{{#each controller}}
{{title}}
{{/each}}
</script>
バックエンドからの応答:
{ads:[{title:"Title" },{ title:"other title" }]}
ただし、ストアからは何も表示されません。私の質問は、ハンドルバーテンプレートでコントローラーからのデータをどのように使用する必要があるかです。
読んでくれてありがとう!
解決
JSON応答の前後に引用符を追加する必要がありました
{"ads":[{ "title":"Title" },{ "title":"other title" }]}