Проблема с нагревом и контроллером

0

У меня есть некоторые проблемы с инициализацией глобальной переменной для использования во всех функциях mycontroller:

Вот что я сделал до сих пор:

JS:

$scope.init = function (table) {
    alert("alert 1 : " + table);
    $scope.tableName = table;
    alert($scope.tableName);
};

tableName = $scope.tableName;
alert("alert 2 : " + tableName);

HTML:

<div ng-init="init('RIGHTTABLE')" ng-controller="DropdownCaptionCtrl">

У меня есть предупреждения в моем браузере с этим заказом:

alert 2: undefined

alert 1: RIGHTTABLE

У вас есть идея решить эту проблему?

Я хочу иметь оповещения в этом порядке:

alert 1: RIGHTTABLE

alert 2: RIGHTTABLE

На самом деле я хочу иметь глобальную переменную $scope.tableName которая будет использоваться во всех моих функциях контроллеров, я хочу инициализировать ее при запуске страницы

Кодепен здесь

спасибо

  • 0
    tableName = $ scope.tableName; ? что это за код? не могли бы вы объяснить
  • 0
    ng-init вызывается после загрузки контроллера. Так что наверняка «аллерт 2» будет называться первым.
Показать ещё 6 комментариев
Теги:

1 ответ

1

Ваша функция init вызывается после получения переменной как неопределенной, так как сначала загружается контроллер, что вы можете сделать

$scope.init = function (table) {
    alert("alert 1 : " + table);
    $scope.tableName = table;
    alert($scope.tableName);        
    alert("alert 2 : " + $scope.tableName);
};

ОБНОВИТЬ:

Если вы хотите использовать переменную во всех контроллерах, то перейдите к Service

Другим вариантом является использование $ rootScope,

   $scope.init = function (table) {
        alert("alert 1 : " + table);
        $rootScope.tableName = table;
        alert($rootScope.tableName);        
        alert("alert 2 : " + $rootScope.tableName);
    };

Тогда вы сможете получить доступ к любому контроллеру с помощью $rootScope.tableName

  • 0
    Это не так просто, как оповещения, я не так много объяснил ... Я хочу сделать переменную $scope.tableName пригодной для использования во всех функциях контроллера
  • 0
    проверьте обновленный ответ
Показать ещё 7 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню