【发布时间】:2017-06-04 02:52:05
【问题描述】:
我定义了两个状态 finance.payment 和 finance.ppm 其中 finance 已经是一个状态
这是 payment.js 文件
angular.module('erpSaarangFrontendApp')
.config(function ($stateProvider) {
$stateProvider
.state('finance.payment', {
url: '/payments',
templateUrl: 'views/finance/payment.html',
controller: 'FinancePaymentCtrl',
authenticate: true
});
})
.controller('FinancePaymentCtrl',['$scope', '$http','Upload','cloudinary', '$localStorage', '$state', function ($scope, $http, $upload, cloudinary, $localStorage, $state) {
var config = {
headers:{
'Authorization' : "Bearer "+ $localStorage.auth_token,
}
};
console.log($localStorage.auth_token);
}]);
payment.js 的控制台输出是
y1kw3j9lhb7rj4ld8rzwkhe0a9xymwlv
这是 ppm.js 文件
angular.module('erpSaarangFrontendApp')
.config(function ($stateProvider) {
$stateProvider
.state('finance.ppm', {
url: '/prizemoney',
templateUrl: 'views/finance/ppm.html',
controller: 'FinancePpmCtrl',
authenticate: true
});
})
.controller('FinancePpmCtrl',['$scope','$http','Upload','cloudinary','$location','$localStorage','$state', function ($scope, $http, $upload, cloudinary, $localStorage, $state) {
var config = {
headers:{
'Authorization' : "Bearer "+ $localStorage.auth_token,
}
};
console.log($localStorage.auth_token);
}]);
ppm.js 的控制台输出是
undefined
当我为 payment.js 打印 $localStorage 时,我得到了这个 -
Object { $default: $default(), $reset: $reset(), $sync: $sync(), $apply: $apply(), $supported: $supported(), auth_token: "y1kw3j9lhb7rj4ld8rzwkhe0a9xymwlv", member: Object, _id: 8190 }
但是当我为 ppm.js 打印 $localStorage 时,我得到了这个 -
Object { $$protocol: "http", $$host: "localhost", $$port: 9000, $$parse: LocationHashbangUrl/this.$$parse(), $$compose: LocationHashbangUrl/this.$$compose(), $$parseLinkUrl: LocationHashbangUrl/this.$$parseLinkUrl(), $$path: "/finance/prizemoney", $$search: Object, $$hash: "", $$url: "/finance/prizemoney", 4 more… }
我不明白,$localStorage 是如何变化的?以及为什么在 ppm.js 中未定义 auth_token 而在 payment.js 中有值
【问题讨论】:
标签: javascript angularjs angular-ui-router local-storage