2017-02-07 5 views
0

Я сделал функцию rootscope, в которой я фактически выхожу из системы. Но я не знаю, как назвать это в представлении.Как назвать корнеустройство fuction в html - Angular Js

Мои функции является

$rootScope.logout = function() { 
      $cookies.remove('auth_token'); 
      $cookies.remove('role'); 
      $cookies.remove('status'); 
      $cookies.remove('id'); 
      $location.path('/signin'); 
//   window.alert("Logout Successfully"); 
      $rootScope.auth_token = $cookies.get('auth_token'); 
      $rootScope.role = $cookies.get('role'); 
      $rootScope.status = $cookies.get('status'); 
      $rootScope.id = $cookies.get('id'); 
      $rootScope.keyword_auth_token = 'Bearer ' + $rootScope.auth_token; //Need to store all of them 

      $rootScope.is_loggedin = false; 
     }; 

мой взгляд

<button ng-click="$root.logout()">Logout</button> 

Я попытался $root.logout(), $rootScope.logout() но не работает.

ответ

2

Он может быть доступен только в области, поскольку $scope наследует от $rootScope. Попробуйте:

<button ng-click="logout()">Logout</button> 

UPDATE ...

Так как вы пытаетесь получить доступ к $rootScope снаружи любого контроллера, где нет ни одного ребенка, который наследует $scope от $rootScope то функция logout не будет автоматически доступно через наследование (как я ранее предлагал).

Вы должны будете объявить функцию $rootScope.logout в блоке модуля, а не в. Для получения дополнительной информации об этом читайте Module Loading & Dependencies часть угловых документов.

JS:

var app = angular.module('myApp', []); 

app.run(function($rootScope){ 
    $rootScope.logout = function() { 
     // ... 
    } 
}); 

Теперь функция logout должна быть доступна для вызова, как это:

HTML:

<button ng-click="logout()">Logout</button> 

Sample Plunk - Accessing $rootScope where there is no child $scope

+0

пробовал это тоже, но не работал –

+0

Где вы регистрируете функцию '$ rootScope.logout'? –

+0

в индексном файле, где нет контроллера –

0
<form ng-controller="Your controller name" ng-submit="logout()"> 
    <button type="submit">Logout</button> 
</form> 

Убедитесь, что вы используете правый контроллер, поэтому он находится в области видимости, используйте функцию ng-submit для передачи функции. Убедитесь, что на вашей кнопке задано значение «отправить».

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

  • Нет связанных вопросов^_^