这里我试图在$ roortScope中获取我的存储cookie值为什么我得到错误为.get of undefind $cookieStore.get('mycookie');
angular.module('MyApp', ['ui.router', 'ui.bootstrap', 'ngCookies']).controller('HomeCtrl', function ($scope, $cookies, $state) {
.run(function ($rootScope) {
$rootScope.$on('$stateChangeStart', function (event, toState, toParams, fromState, fromParams, options, $scope,$cookieStore) {
var Getcookies = $cookieStore.get('mycookie');
if (toState.module == "Private" && !Getcookies.lenth=='undefind')
{
}
答案 0 :(得分:1)
我认为你的问题在你的控制器中你有$ cookies
.controller('HomeCtrl', function ($scope, $cookies, $state)
但是在你的函数中你使用的是$ cookieStore,这就是你的$ cookieStore未定义的原因
function (event, toState, toParams, fromState, fromParams, options, $scope,$cookieStore)
如果您想使用$ cookieStore,您应该使用$ cookieStore更改控制器中的$ cookies,但请记住,自1.4版以来不推荐使用$ cookieStore,如果您使用的是更新版本,则应使用$ cookies 。
答案 1 :(得分:0)
$cookies
服务需要作为.run
构造函数中的参数注入:
̶.̶r̶u̶n̶(̶f̶u̶n̶c̶t̶i̶o̶n̶ ̶(̶$̶r̶o̶o̶t̶S̶c̶o̶p̶e̶)̶ ̶{̶
.run(function ($rootScope, $cookies) {
$rootScope.$on('$stateChangeStart', function (event, toState, toParams, fromState, fromParams, options, $scope,$cookieStore) {
var Getcookies = $cookies.get('mycookie');
//...
});
})