简体   繁体   English

在Ember.js中路由

[英]Routing in Ember.js

I try to use routing in Ember.js, but it does not seem to be working properly. 我尝试在Ember.js中使用路由,但似乎无法正常工作。

The full code is here on Github , but a portion is below: 完整的代码在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;
});

I think you need to change your code to this: 我认为您需要将代码更改为此:

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;
});

Let me know if that works. 让我知道是否可行。

Update 更新

Actually you should not be using ViewState either. 实际上,您也不应该使用ViewState。 It's being depreciated. 它正在贬值。 Follow the guide http://emberjs.com/guides/outlets/ . 遵循指南http://emberjs.com/guides/outlets/

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM