gpt4 book ai didi

javascript - ngStorage 和原型(prototype)

转载 作者:行者123 更新时间:2023-11-29 21:32:34 26 4
gpt4 key购买 nike

我一直在构建一个 Ionic 应用程序,然后才开始实现 ngStorage .这是一种非常简单的方法,可以简单地扩展我的应用程序并存储范围内的内容。例如,我去了所有有 $scope.listOfThings 的地方,我用 $scope.$storage.listOfThings 替换了它。

$scope.$storage.listOfThings = new ListOfThings(things);

这很好用,但是 listOfThings 上有一个原型(prototype)(这当然针对问题进行了简化):

.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不是函数

这是有道理的,因为原型(prototype)没有存储在本地存储中,但是这里的解决方案是什么?我真的不想删除原型(prototype),我也不想存储 $storage 版本和常规版本的 listOfThings。我错过了什么?

最佳答案

本地存储是一种持久性模型。它假设存储数据而不是具有功能的对象。您应该将列表的数据存储在本地存储中,然后检索它,您应该将其传递给您的工厂。向您的工厂添加一个方法,该方法将接收事物列表作为参数。这样你就可以用正确的数据初始化你的工厂并保持功能

关于javascript - ngStorage 和原型(prototype),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35823612/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com