在我的ApplicationController中,我有以下内容:
init: function () {
console.log(this.currentRouteName);
}
但是它记录了
undefined
,但是如果我登录了console.log(this);
,则可以看到属性及其值。有人知道如何解决吗?
最佳答案
编辑:我刚刚意识到您正在尝试访问控制器的init
函数中的属性。该控制器由容器自动实例化。当容器创建该对象时,您的应用程序很可能尚未开始路由,因此没有当前路由。
因此,我认为简短的答案是:您不能这样做。
您需要使用Em.get
。有时,直接访问属性有效,但有时却无效(取决于对象的结构)。
console.log(Em.get(this, 'currentRouteName'));
要么
console.log(this.get('currentRouteName'));
关于javascript - 无法获取currentRouteName,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22044632/