使用带有Ember.js路由的动态段

时间:2012-06-07 20:29:20

标签: javascript ember.js

我无法理解Ember.js路由的工作原理,特别是如何使用路径中的动态段。

例如,如果您想从重置密码页面中获取令牌并在表单提交中使用该令牌,您将如何获得令牌?下面的代码尝试在页面上打印令牌作为中间步骤,但它不会呈现TokenView。怎么了?感谢。

window.App = Em.Application.create({});

App.IndexView = Em.View.extend({
    template: Em.Handlebars.compile(
        '<h1>Index</h1>'
    )
});

App.ResetView = Em.View.extend({
    template: Em.Handlebars.compile(
        '<h1>reset view </h1>'
    )
});

App.TokenView = Em.View.extend({
    template: Em.Handlebars.compile(
        '<h1>token view {{token_id}}</h1>'
    )
});

App.Router = Ember.Router.extend({

    rootElement:'#content',
    location: 'hash',
    enableLogging: true,

    root: Ember.State.extend({

        index: Ember.ViewState.extend({
            route: '/',
            view: App.IndexView
        }),

        passwordReset: Ember.ViewState.extend({
            route: '/reset',
            view: App.ResetView,

            token: Ember.ViewState.extend({
                route: '/:token_id',
                view: App.TokenView
            })
        })
    })
});

App.router = App.Router.create();
App.initialize(App.router);

1 个答案:

答案 0 :(得分:1)

您应该查看有关Router的最新文档,该文档正在进行中但可用@ https://emberjs-staging-new.herokuapp.com/guides/outlets#toc_the-router