2014-02-26 87 views
1

在我的ApplicationController我有以下幾點:無法獲得currentRouteName

init: function() { 
    console.log(this.currentRouteName); 
} 

但它記錄undefined但如果我登錄console.log(this);我可以看到屬性和值。

有人知道如何解決這個問題嗎?

回答

2

編輯:我只是意識到,你正試圖訪問控制器的init功能屬性。該控制器由容器自動實例化。當容器創建該對象時,您的應用程序很可能尚未開始路由,因此沒有當前路由。

所以我認爲簡短的答案是:你不能那樣做。


您需要使用Em.get。直接訪問屬性有時會起作用,但有時它不會(取決於對象的結構)。

console.log(Em.get(this, 'currentRouteName')); 

console.log(this.get('currentRouteName')); 
+0

它仍然不爲我工作... – user232343

+1

我更新我的職務。我第一次錯過了什麼。 – GJK

+0

是的..那是問題...解決了!謝謝 – user232343