在Emberjs中,您如何在模板文件中使用路径中定义的属性?

时间:2015-12-31 09:34:27

标签: ember.js

假设我有一个路径文件,如:

import Ember from 'ember';

export default Ember.Route.extend({
    [...]
    password: "...",
    [...]
});

如何在模板中使用密码属性?
如果我使用{{password}}它不起作用,但是,如果我定义一个带有密码属性的控制器,我可以在模板中使用{{password}},但考虑到不再使用控制器的事实,我有什么选择?

我知道我可以在路线上做这样的事情:

import Ember from 'ember';

export default Ember.Route.extend({
    model(){
       return {
            password: "...",
       }
    },
});

然后访问{{model.password}},但我不认为这是去这里的方式。

1 个答案:

答案 0 :(得分:2)

路由设置控制器及其路由职责,将数据传递给控制器​​,

如上所示,您可以使用model挂钩将数据传递给控制器 与setupController挂钩如:

setupController(model, controller) {
 this._super(...arguments);
 var pass = this.get('password');
 controller.set('password', pass);
}

还有其他方法,比如从控制器访问路由,但这将是一个黑客