angularjs $localStorage 未定义,但已定义
angularjs $localStorage is undefined, but was defined
我正在使用 angularjs 的 $localStorage
功能,但目前由于某种原因不想包含在内。我知道 $localStorage
有效,因为我在同一个 webapp 的其他控制器中使用过它。我也知道这不是拼写错误,因为我反复检查过,而且我也知道 $localStorage
变量 curAllianceCol
已定义,因为我在以后的控制器中使用了这个完全相同的变量。
感谢任何帮助,如果(由于某种我不知道的原因)您不能在 angularjs 指令中使用 $localStorage
,请告诉我,以便我可以制定解决方法.
相关JS:
window.fires = angular.module('FIRES', ['ngResource', 'ui.bootstrap', 'ui.router', 'ngStorage']);
//(...Non-relevant code..)
window.fires.directive('fieldDirective', ['ScoutService', '$localStorage', function(ScoutService, $interval, $localStorage) {
var $scope = this;
$scope.sServ = ScoutService;
console.log($localStorage.curAllianceCol); //This is line 177, just for reference between the error message and this file
$scope.col = $localStorage.curAllianceCol;
//(...Non-relevant code..)
}]);
我收到错误消息:
"Error: $localStorage is undefined
@http://192.168.250.111:8080/js/fires.js:177:2
invoke@http://192.168.250.111:8080/bower_components/angular/angular.js:3965:14
registerDirective/http://192.168.250.111:8080/bower_components/angular/angular.js:5716:33
forEach@http://192.168.250.111:8080/bower_components/angular/angular.js:325:9
registerDirective/<@http://192.168.250.111:8080/bower_components/angular/angular.js:5714:13
invoke@http://192.168.250.111:8080/bower_components/angular/angular.js:3965:14
createInjector/instanceCache.$injector<@http://192.168.250.111:8080/bower_components/angular/angular.js:3807:20
getService@http://192.168.250.111:8080/bower_components/angular/angular.js:3929:39
addDirective@http://192.168.250.111:8080/bower_components/angular/angular.js:6804:41
collectDirectives@http://192.168.250.111:8080/bower_components/angular/angular.js:6231:1
compileNodes@http://192.168.250.111:8080/bower_components/angular/angular.js:6080:22
compileNodes@http://192.168.250.111:8080/bower_components/angular/angular.js:6096:15
compileNodes@http://192.168.250.111:8080/bower_components/angular/angular.js:6096:15
compileNodes@http://192.168.250.111:8080/bower_components/angular/angular.js:6096:15
compile@http://192.168.250.111:8080/bower_components/angular/angular.js:6017:15
$ViewDirectiveFill/<.compile/<@http://192.168.250.111:8080/bower_components/angular-ui-router/release/angular-ui-router.js:3893:20
nodeLinkFn@http://192.168.250.111:8080/bower_components/angular/angular.js:6752:13
compositeLinkFn@http://192.168.250.111:8080/bower_components/angular/angular.js:6146:13
publicLinkFn@http://192.168.250.111:8080/bower_components/angular/angular.js:6042:30
updateView@http://192.168.250.111:8080/bower_components/angular-ui-router/release/angular-ui-router.js:3839:23
$ViewDirective/directive.compile/http://192.168.250.111:8080/bower_components/angular-ui-router/release/angular-ui-router.js:3801:11
$RootScopeProvider/this.$gethttp://192.168.250.111:8080/bower_components/angular/angular.js:13093:15
transitionTo/$state.transition<@http://192.168.250.111:8080/bower_components/angular-ui-router/release/angular-ui-router.js:3218:11
qFactory/defer/deferred.promise.then/wrappedCallback@http://192.168.250.111:8080/bower_components/angular/angular.js:11682:31
qFactory/ref/<.then/<@http://192.168.250.111:8080/bower_components/angular/angular.js:11768:26
$RootScopeProvider/this.$gethttp://192.168.250.111:8080/bower_components/angular/angular.js:12811:16
$RootScopeProvider/this.$gethttp://192.168.250.111:8080/bower_components/angular/angular.js:12623:15
$RootScopeProvider/this.$gethttp://192.168.250.111:8080/bower_components/angular/angular.js:12915:13
done@http://192.168.250.111:8080/bower_components/angular/angular.js:8450:34
completeRequest@http://192.168.250.111:8080/bower_components/angular/angular.js:8664:7
createHttpBackend/http://192.168.250.111:8080/bower_components/angular/angular.js:8603:1
"
我不确定您的代码是否正确,但是,您是否尝试过删除 $interval
或添加适当的依赖项,因为这是传递给指令的第二个参数,它会使 $localStorage
(你的第三个参数)undefined
.
示例没有 $interval
window.fires.directive('fieldDirective', ['ScoutService', '$localStorage', function(ScoutService, $localStorage) {
var $scope = this;
$scope.sServ = ScoutService;
console.log($localStorage.curAllianceCol); //This is line 177, just for reference between the error message and this file
$scope.col = $localStorage.curAllianceCol;
//(...Non-relevant code..)
}]);
我正在使用 angularjs 的 $localStorage
功能,但目前由于某种原因不想包含在内。我知道 $localStorage
有效,因为我在同一个 webapp 的其他控制器中使用过它。我也知道这不是拼写错误,因为我反复检查过,而且我也知道 $localStorage
变量 curAllianceCol
已定义,因为我在以后的控制器中使用了这个完全相同的变量。
感谢任何帮助,如果(由于某种我不知道的原因)您不能在 angularjs 指令中使用 $localStorage
,请告诉我,以便我可以制定解决方法.
相关JS:
window.fires = angular.module('FIRES', ['ngResource', 'ui.bootstrap', 'ui.router', 'ngStorage']);
//(...Non-relevant code..)
window.fires.directive('fieldDirective', ['ScoutService', '$localStorage', function(ScoutService, $interval, $localStorage) {
var $scope = this;
$scope.sServ = ScoutService;
console.log($localStorage.curAllianceCol); //This is line 177, just for reference between the error message and this file
$scope.col = $localStorage.curAllianceCol;
//(...Non-relevant code..)
}]);
我收到错误消息:
"Error: $localStorage is undefined @http://192.168.250.111:8080/js/fires.js:177:2 invoke@http://192.168.250.111:8080/bower_components/angular/angular.js:3965:14 registerDirective/http://192.168.250.111:8080/bower_components/angular/angular.js:5716:33 forEach@http://192.168.250.111:8080/bower_components/angular/angular.js:325:9 registerDirective/<@http://192.168.250.111:8080/bower_components/angular/angular.js:5714:13 invoke@http://192.168.250.111:8080/bower_components/angular/angular.js:3965:14 createInjector/instanceCache.$injector<@http://192.168.250.111:8080/bower_components/angular/angular.js:3807:20 getService@http://192.168.250.111:8080/bower_components/angular/angular.js:3929:39 addDirective@http://192.168.250.111:8080/bower_components/angular/angular.js:6804:41 collectDirectives@http://192.168.250.111:8080/bower_components/angular/angular.js:6231:1 compileNodes@http://192.168.250.111:8080/bower_components/angular/angular.js:6080:22 compileNodes@http://192.168.250.111:8080/bower_components/angular/angular.js:6096:15 compileNodes@http://192.168.250.111:8080/bower_components/angular/angular.js:6096:15 compileNodes@http://192.168.250.111:8080/bower_components/angular/angular.js:6096:15 compile@http://192.168.250.111:8080/bower_components/angular/angular.js:6017:15 $ViewDirectiveFill/<.compile/<@http://192.168.250.111:8080/bower_components/angular-ui-router/release/angular-ui-router.js:3893:20 nodeLinkFn@http://192.168.250.111:8080/bower_components/angular/angular.js:6752:13 compositeLinkFn@http://192.168.250.111:8080/bower_components/angular/angular.js:6146:13 publicLinkFn@http://192.168.250.111:8080/bower_components/angular/angular.js:6042:30 updateView@http://192.168.250.111:8080/bower_components/angular-ui-router/release/angular-ui-router.js:3839:23 $ViewDirective/directive.compile/http://192.168.250.111:8080/bower_components/angular-ui-router/release/angular-ui-router.js:3801:11 $RootScopeProvider/this.$gethttp://192.168.250.111:8080/bower_components/angular/angular.js:13093:15 transitionTo/$state.transition<@http://192.168.250.111:8080/bower_components/angular-ui-router/release/angular-ui-router.js:3218:11 qFactory/defer/deferred.promise.then/wrappedCallback@http://192.168.250.111:8080/bower_components/angular/angular.js:11682:31 qFactory/ref/<.then/<@http://192.168.250.111:8080/bower_components/angular/angular.js:11768:26 $RootScopeProvider/this.$gethttp://192.168.250.111:8080/bower_components/angular/angular.js:12811:16 $RootScopeProvider/this.$gethttp://192.168.250.111:8080/bower_components/angular/angular.js:12623:15 $RootScopeProvider/this.$gethttp://192.168.250.111:8080/bower_components/angular/angular.js:12915:13 done@http://192.168.250.111:8080/bower_components/angular/angular.js:8450:34 completeRequest@http://192.168.250.111:8080/bower_components/angular/angular.js:8664:7 createHttpBackend/http://192.168.250.111:8080/bower_components/angular/angular.js:8603:1 "
我不确定您的代码是否正确,但是,您是否尝试过删除 $interval
或添加适当的依赖项,因为这是传递给指令的第二个参数,它会使 $localStorage
(你的第三个参数)undefined
.
示例没有 $interval
window.fires.directive('fieldDirective', ['ScoutService', '$localStorage', function(ScoutService, $localStorage) {
var $scope = this;
$scope.sServ = ScoutService;
console.log($localStorage.curAllianceCol); //This is line 177, just for reference between the error message and this file
$scope.col = $localStorage.curAllianceCol;
//(...Non-relevant code..)
}]);