2015-05-14 3 views
0

Я определяю переменную rootScope после внесения логина в мое приложение, странно, что значение объявляется в неопределенных частях.

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

Эти переменные объявлены и содержат значение, потому что я проверил, например. Эта переменная определена в LoginController, затем я использую в HomeCtrl, и это работает очень хорошо. Но использовать его в объявлении меню не удается и не распознается.

EDIT

В этом состоянии мне нужно передать значение переменной, и которые не могут даже не услуга (не то, что не работает, что я не могу думать, как) я думал, что $ rootScope будет работать. Это состояние не имеет контроллера в соответствии с определением. Мне нужно руководство о том, как запустить драйвер для него, чтобы передать переменные, которые необходимо отобразить.

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

Попробуйте использовать $ рамки вместо $ rootScope – kanchirk

+2

вы впрыснуть $ rootScope к контроллеру? $ scope идет естественным образом, в то время как $ rootScope нужно вводить – shershen

+0

Вы можете использовать rootScope в своих контроллерах с помощью шаблона DI, но когда вы включаете частичную страницу (например, боковую панель или другую), вам необходимо обработать ее сам. –

ответ

2

Еще один код был бы полезен, особенно контроллер, в котором вы используете $ rootScope. С учетом данных я могу указать на общую ловушку: не правильно вводить $ rootScope в контроллер. $ rootScope, являющийся сервисом, должен быть введен в контроллер. Пример:

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

Спасибо за ваш ответ, отредактируйте сообщение и дайте понять, что у меня нет драйвера для моего состояния бокового меню, это моя ошибка и мой большой вопрос, нужно ли брать водителя, если я так все решен. – NHTorres

+1

Спасибо! Это помогло мне с кодом! – tibelchior

Смежные вопросы