在 Angular JS 中可能像静态一样的数组
array like static possible in angular js?
我需要声明一个数组
而且我需要保留添加到其中的每个项目都应该永远保留在那里,即使页面被重新加载,这可能吗? var arr=[]; arr.push('id');
像这样,但存储的项目不应该被替换。
回到绘图板,这就是网络的工作方式:)
如果你重新加载页面,所有的东西都会丢失,所有的JS代码,所有的JS变量值,等等,Web在设计上是无状态的。
有一些方法可以实现这一点:要么存储在服务器中并在每个页面请求中重新加载它,要么基于浏览器的技术,因为它们更高级,因此需要更多的知识。
关于基于浏览器的(客户端)技术:我能想到的一种方法是将您的数据存储在 cookie 中。你可以在这里阅读它。Cookie 保存在您的浏览器中,并在您的浏览会话中保持活动状态。尽管如此,这是一种非常脆弱的方法:人们可以轻松删除它们,甚至将它们全部阻止。
更好的方法是HTML5本地存储API。尝试在这里或这里阅读或谷歌它。人们仍然可以删除它,它实际上只附加到您的个人浏览器(更换计算机?您丢失了它,它在本地保存)
无论如何,您必须三思而后行,并真正尝试了解服务器+客户端的工作原理以及保存内容的位置。如果这些数据非常重要,则应将其保存在服务器上,这是确保其安全和保存的唯一方法。
每个角度应用程序都有一个根范围。所有其他作用域都是根作用域的后代作用域。
所以一种选择是像这样做
angular.module('test', []).run(function($rootScope)
{
$rootScope.myArray = [];
$rootScope.myArray.push("test value");
});
但是,话虽如此,不建议使用$rootScope,因此您可以在角度中使用值提供程序。
app.value("testArray", {
someArray : []
});
然后将其注入控制器
app.controller("myController", function ($scope, testArray) {
$scope.someValue = testArray.someArray;
});
您可以在 AngularJS 中使用 cookie 来维护这些值。仅供参考,在此处输入链接描述 JSFiddle 使用$cookieStore、两个控制器、一个$rootScope和 AngularjS 1.0.6。它在 JSFiddle 上就像 https://jsfiddle.net/h2fs0han/的基础一样,如果你弄乱了这个......
有关更多信息,请参阅 - 如何在 AngularJS 中访问 cookie?
<div ng-app="myApp">
<div id="lastVal" ng-controller="ShowerCtrl">{{lastVal}}</div>
<div id="button-holder" ng-controller="CookieCtrl">
<input type="text" ng-model="strText" />
<button ng-click="AddItem()">Add Item!</button>
</div>
</div>
var myApp = angular.module('myApp', ['ngCookies']);
myApp.controller('CookieCtrl', function($scope, $rootScope, $cookieStore) {
$scope.strText = "";
$scope.AddItem = function() {
var lastVal = $cookieStore.get('lastValue');
if ($scope.strText) {
if (!lastVal) {
$rootScope.lastVal = new Array(); //Default
$rootScope.lastVal.push($scope.strText);
} else {
var newItem = angular.copy(lastVal);
newItem.push($scope.strText);
$rootScope.lastVal = newItem;
}
$cookieStore.put('lastValue', $rootScope.lastVal);
}
};
});
myApp.controller('ShowerCtrl', function() {});
- 我想重新排列我的数组和其他数组一样,这个数组是键和值
- 二维数组,就像在 PHP 中一样
- 像PHP一样使用json数组“水合”Javascript对象实例
- 多维数组与JavaScript就像php一样
- 在 Angular JS 中可能像静态一样的数组
- 有没有办法防止字符串像多维数组一样运行
- 如何推送到实际对象的数组最后状态,清除它并像新对象一样单独编辑
- Javascript对象可以像数组一样访问吗?
- 如何像在PHP中一样创建Javascript 2-d数组
- 在JavaScript中创建数组,就像在PHP中一样
- 数组,它们是如何设置的,以及像数组一样的变量
- 使用 top_of_stack(n).value 访问像堆栈一样的数组
- 像矩阵一样访问对象的javaScript数组
- 在对象数组中查找,就像在单独的集合中查找一样
- 像数组一样使用JavaScript对象值
- 如何像开发人员控制台一样计算数组中的项
- javascript控制台中的值与数组不一样
- JavaScript是否像Python一样支持数组/列表推导式?
- 当字符串'已经像数组一样编写时,将其解析为数组
- 像数组一样访问json对象中的元素