我正在使用angularjs的$localStorage
函数,但是由于某些原因当前不希望包含它。我知道这$localStorage
可行,因为我已经在同一webapp的其他控制器中使用了它。我还知道这不是拼写错误,因为我反复检查了该错误,并且我也知道定义了$localStorage
变量curAllianceCol
,因为我在以后的控制器中使用了完全相同的变量。
感谢您的帮助,如果(由于某些原因,我不知道)您不能$localStorage
在angularjs指令中使用,请告诉我,以便我采取解决方法。
相关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..)
}]);
我收到错误消息:
“错误:$ localStorage未定义@ 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编译@ 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
(您的第3个参数)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..)
}]);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句