我在加载我的提供商时遇到了一些问题。
设置如下:
当我在我的控制器中引用数据(引用ItemStorage)时,我得到一个: “错误:[$ injector:unpr]未知提供者:ItemStorage”
但当我删除Data对ItemStorage的引用时,应用程序执行完美(减去由于指向空对象而导致的一些未定义错误)
根据JSHint,我没有语法错误。以下是我的提供者文件,任何帮助将不胜感激!
angular.module('myApp')
.provider('itemStorage', function(){
this.$get = function(){
};
//some other methods
})
.provider('Data',function(itemStorage){
var ItemStorage = {};
this.arrays = ItemStorage.arrays;
this.$get = function(){
return {
foo: function(){ return this.getItemFromStorage(
};
};
this.getItemFromStorage = function(item){
return Storage.getItem(item);
};
})
这只是代码的有限子集。
在写这篇文章时我已经做了一些阅读..在运行期间无法更新提供程序?我可以不调用一种方法来保存本地存储吗?
最终我需要一些可以保存当前用户数据的东西,这些数据是可访问的,并且可以被任何元素更新以更新每个其他元素..这可能吗?
答案 0 :(得分:0)
当与文档进行比较时,您似乎没有命名您的功能,这可能是问题所在。所以尝试类似的事情:
angular.module('myApp').provider('itemStorage', function itemStorageProvider(){
这个。$ get = function(){
};
})
您可能还需要按照
的顺序将此添加到配置中myApp.config(["itemStorageProvider", function(itemStorageProvider) {
}]);
松散地采取