0

Ember-Data (TheMovieDB API を使用) を使用せずに小さな ember アプリを作成していますが、{{#linkTo}}リンクをクリックしてもモデルが読み込まれない理由がわかりませんが、手動でページを更新するとデータが正しく読み込まれます。

ここに私の App.js があります:

window.App = Ember.Application.create();

App.Router.map(function() {
  this.route('about');
  this.resource('movie', {
    path: '/movie/:movie_id'
  })
});

App.IndexRoute = Ember.Route.extend({
    setupController: function (controller) {
        var movies = [];
            $.ajax({
                url: "http://api.themoviedb.org/3/movie/popular?api_key=5b088f4b0e39fa8bc5c9d015d9706547",
                type: "GET",
                async: false,
                success: function (data) {
                var length = data.results.length;

                data.results.forEach(function (item) {
                    if (item.backdrop_path != null) {
                        var tmp = item.backdrop_path;
                        item.backdrop_path = "http://cf2.imgobject.com/t/p/w500/"+tmp+"?api_key=5b088f4b0e39fa8bc5c9d015d9706547"
                        movies.push(item);
                    }

                })
            }
        });

        controller.set('content', movies);
    }
});


App.MovieRoute = Ember.Route.extend({
    model: function (param) {
        var infos;
        /* Important !! */
        var promise = Ember.Deferred.create();

    $.ajax({
        url: "http://api.themoviedb.org/3/movie/"+param.movie_id+"?api_key=5b088f4b0e39fa8bc5c9d015d9706547",
        type: "GET",
        success: function (data) {
            var tmp = data.backdrop_path;
            data.backdrop_path = "http://cf2.imgobject.com/t/p/w500/"+tmp+"?api_key=5b088f4b0e39fa8bc5c9d015d9706547";
            // infos = Ember.Object.create(data)
            promise.resolve(data);

        }
    });
    console.log("MODEL");
    return promise;
},
    setupController: function (controller, model) {
        controller.set('content', model);
    }
});

App.Movie = Ember.Object.extend({})

ご協力いただきありがとうございます !

4

1 に答える 1