絶え間なく変化する Ember.js の世界で、単純なアプリケーションを立ち上げて実行するための助けを探しています。
Ember.js を使用して API を介して JSON 経由でデータをロードするための基本的なフレームワークを取得しようとしていますが、データを表示するのに問題があります。コードは次の場所にあります。
var App = Ember.Application.create();
App.ApplicationController = Ember.Controller.extend();
App.ApplicationView = Ember.View.extend({
templateName: 'application'
});
App.Movie = Ember.Object.extend({
title: null,
rating: null,
release_date: null,
poster_image: null
});
App.MoviesView = Ember.View.extend({
templateName: 'movie-list'
});
App.moviesController = Ember.ArrayController.create({
content: [],
init: function(){
var me = this;
$.getJSON('/trailers/api/movies',function(data){
me.set('content', []);
$(data.movies).each(function(index,value){
var t = App.Movie.create({
title: value.title,
rating: value.rating,
release_date: value.release_date,
poster_image: value.poster_image
});
me.pushObject(t);
})
});
}
});
App.router = Ember.Router.create({
enableLogging: true,
root: Ember.Route.extend({
index: Ember.Route.extend({
route: '/',
redirectsTo: 'movies'
}),
movies: Ember.Route.extend({
route: '/movies',
connectOutlets: function(router) {
return router.get('applicationController').connectOutlet({
viewClass: App.MoviesView,
controller: App.moviesController
});
}
})
})
});
App.initialize(App.router);
<script type="text/x-handlebars" data-template-name="application">
<h1>Application</h1>
{{outlet}}
</script>
<script type="text/x-handlebars" data-template-name="movie-list">
<h2>Movie List</h2>
<ul>
{{#each App.movieController}}
<li><a {{action showMovie context="movie" href=true}}>{{title}}</a></li>
{{/each}}
</ul>
</script>
テンプレートは正しく読み込まれ、"Application" ヘッダーと "Movie List" ヘッダーは表示されますが、順序付けされていないリストにはデータが表示されません。
コンソールにエラーは表示されず、XML 要求は適切に返されます。App.moviesController.content と入力すると、API からのデータが含まれているように見える「クラス」の配列が取得されます。
誰でも考えやガイダンスを提供できますか?