ng存储和原型
ngStorage and Prototypes
我一直在构建一个Ionic应用程序,然后刚刚实现了ngStorage。这是一种简单易用的好方法,可以简单地扩展我的应用程序并存储范围内的内容。例如,我去过,到处都有$scope.listOfThings
我用$scope.$storage.listOfThings
代替了它。
$scope.$storage.listOfThings = new ListOfThings(things);
这很好用,但是 listOfThings 有一个原型(这当然是针对这个问题简化的):
.factory('ListOfThings', function(Task) {
var ListOfThings = function(things) {
this.listOfThings = things
};
ListOfThings.prototype.addThing = function(thing) {
this.listOfThings.push(thing);
};
return ListOfThings;
});
现在,当我像以前一样调用addThing函数时($scope.$storage.listOfThings.addThing(thing);
我得到了$scope.$storage.listOfThings.addThing is not a function
这是有道理的,因为原型不存储在本地存储中,但是这里的解决方案是什么?我真的不想删除原型,我也不想存储 listOfThings 的$storage版本和常规版本。我错过了什么?
本地存储是一种持久性模型。它假设存储数据而不是带有函数的对象。您应该将列表的数据存储在本地存储中,然后检索它,然后将其传递给工厂。向工厂添加一个方法,该方法将作为参数接收事物列表。这样,您将能够使用正确的数据初始化您的工厂并保留功能
相关文章:
- 使用“;这个“;JavaScript原型方法中的关键字
- 将作用域存储在JSON中
- 使用javascript存储变量的最安全方式
- 当图像转换为本地存储的DataURL时,EXIF被删除
- 如何在chrome扩展中存储数据/结果,以及如何使用setTimeout使其只被调用一次
- 引用类变量中的原型方法
- 如何有效地将游戏数据存储在URL查询字符串中
- 如何从对象的原型方法访问JavaScript对象属性
- Ember.js-接口状态应该存储在哪里
- 为什么要包装每一个原型“;类“;JS中具有匿名函数的对象
- 如何解雇“;铁局部存储负载”;事件
- 在 Redux 状态下存储具有原型函数的对象
- 用于存储未按预期行为的对象的原型
- ng存储和原型
- node-js原型对象'self'var没有为回调存储正确的上下文
- 来自工厂的原型中的方法出现了奇怪的错误,存储在控制器的$scope中
- Javascript:初始方法存储在原型中
- 当实例存储在数组中时,原型继承不起作用
- 在 Javascript 中传递和存储对象原型引用和参数
- 我可以在本地存储中保存对象原型吗?