我在本地存储了一个json文件,我正在使用它,但我无法保存它,失去了持久性。此代码在我的Web控制器(angularjs)
中$http.get("users.json")
.then(function(res) {
$scope.users = res.data;
});
$scope.addUser = function() {
$scope.users.push({
name: $scope.user
});
$scope.user = "";
}
$scope.removeUser = function() {
$scope.users.pop({
name: $scope.user
});
$scope.user = "";
}
我知道另一种方式是本地存储,但我无法使用它,因为我无法列出我的html代码中的每个对象(它表示我无法推送或弹出未定义的对象)。
那么,我该怎么做呢?
Thanxs!
答案 0 :(得分:2)
我认为,您需要在调用http请求之前初始化您的用户变量。
$scope.users = [];
$http.get("users.json")
.then(function(res) {
$scope.users = res.data;
});
希望它能解决未定义的对象问题。
答案 1 :(得分:0)
我知道另一种方式是本地存储,但我无法使用它 因为我无法列出我的HTML代码中的每个对象(它说我不能 推送或弹出未被识别的对象。)
如果通过检查数据是否可用来正确存储数据然后添加数据,则可以使用它。其他选项是,如果user
数据将用于不同的网页或控制器,那么您可以使用$rootScope。
在下面的代码中,您无法定义引发错误的$scope.users
。
// $scope.users = []; // Uncomment code if variable is not defined
// $scope.user = ''; // Uncomment code if variable is not defined
$http.get("users.json")
.then(function(res) {
$scope.users = res.data; // Throws error if not defined earlier
});
$scope.addUser = function() {
$scope.users.push({
name: $scope.user // Here $scope.user throws error if not defined earlier
});
$scope.user = "";
};
答案 2 :(得分:0)
谢谢大家,最后我使用带有parse和stringify的de json文件将数据保存在localstorage中!
new