0

Ember.js でルーティングを使用しようとしていますが、正しく動作していないようです。

完全なコードはGithubにありますが、一部を以下に示します。

define(['ember', 'app/controllers/controller', 'app/views/view'], function (ember, controller, view) {
    var Router = Ember.Router.extend({
        root: Ember.State.extend({
            index: Ember.State.extend({
                // location: Ember.Location.create({style: 'hash'}),
                location: 'hash',
                enableLogging: true,
                route: '/',
                redirectsTo: 'news.index'
            }),
            news: Ember.State.extend({
                route: '/news',
                // showPost : Ember.State.transitionTo('post'),
                test: Ember.ViewState.extend({
                    route: '/test',
                    view: view.appendTo('body')
                }),
                index: Ember.ViewState.extend({
                    route: '/',
                    view: null
                })
            })
        })
    });
    var router = Router.create({});
    return router;
});
4

1 に答える 1

4

コードを次のように変更する必要があると思います。

define(['ember', 'app/controllers/controller', 'app/views/view'], function (ember, controller, view) {
    var Router = Ember.Router.extend({
        // These are properties of Ember.Router and should be defined here
        location: 'hash',
        enableLogging: true,

        root: Ember.State.extend({
            index: Ember.State.extend({
                route: '/',
                redirectsTo: 'news.index'
            }),
            news: Ember.State.extend({
                route: '/news',
                // showPost : Ember.State.transitionTo('post'),
                test: Ember.ViewState.extend({
                    route: '/test',
                    view: view.appendTo('body')
                }),
                index: Ember.ViewState.extend({
                    route: '/',
                    view: null
                })
            })
        })
    });
    var router = Router.create({});
    return router;
});

それがうまくいくかどうか教えてください。

アップデート

実際には、ViewState も使用しないでください。減価償却中です。http://emberjs.com/guides/outlets/のガイドに従ってください。

于 2012-06-21T04:02:30.837 に答える