2015-05-14 38 views
0

我在應用程序中進行登錄後定義了一個rootScope變量,奇怪的是該值在未定義的部分中聲明。

$rootScope.username = data.nombre; 
$rootScope.userImage = data.photo; 

這些變量聲明和包含的價值,因爲我已經檢查,例如。這個變量是在LoginController中定義的,然後我在HomeCtrl中使用,這個效果很好。但是,在菜單聲明中使用它失敗並且無法識別。

編輯

在這種情況下,我需要傳遞變量的值,哪些不能連一個服務(即不工作不就是我想不出辦法)我認爲$ rootScope會工作。這個狀態根據defini沒有控制器,我需要關於如何運行驅動程序的指導,以便傳遞需要顯示的變量。

.state('eventmenu', { 
    url: "/event", 
    abstract: true, 
    templateUrl: "event-menu.html" 
}) 
+0

嘗試使用$範圍,而不是$ rootScope – kanchirk

+2

你注入$ rootScope到控制器? $作用域自然而然,而$ rootScope需要注入 – shershen

+0

您可以通過DI模式在您的控制器中使用rootScope,但是當您在頁面中包含部分內容(例如side-bar或sth else)時,您需要通過你自己。 –

回答

2

還有一些代碼會有幫助,尤其是您使用$ rootScope的控制器。 對於給定的數據,我可以指出一個常見的錯誤:沒有正確地在控制器中注入$ rootScope。 $ rootScope是一項服務,需要在控制器中注入。 例子:

module.controller('MyController', ['$scope', '$rootScope',function($scope, $rootScope) { 
    ... 
}]); 
+0

感謝您的回答,編輯帖子,並明確表示我沒有驅動程序來支持我的橫向菜單狀態,這是我的錯誤和我的重大問題,是否需要駕駛員,如果我解決了一切問題。 – NHTorres

+1

謝謝!這幫了我一個代碼! – tibelchior

相關問題