类型错误:无法读取 null 的属性“push”
2015-12-02
9607
我使用 Angularjs 和 Ionic 制作了一个 Todo 应用。 我想将一些字段保存到 localStorage,但当我单击“保存”时出现此错误。
我的代码是:
angular.module('myApp', ['ionic'])
.controller('myAppCtrl', function($scope){
$scope.uuid = function(){
return Math.floor(( 1 + Math.random()) * 0x10000)
.toString(16)
.substring(1);
};
$scope.todo = {};
$scope.todos = {};
//Check The Localstorage If the Todos exists
var todos = localStorage.getItem('todos');
if(todos !== undefined){
$scope.todos = JSON.parse(todos);
}
$scope.addTodo = function($event){
activate_page("#create_edit");
};
$scope.goBack = function($event){
activate_page("#mainpage");
};
$scope.saveTodo = function($event){
$scope.todo.id = $scope.uuid();
$scope.todos.push($scope.todo);
$scope.todo = {};
localStorage.setItem('todos', JSON.stringify($scope.todos)); //Save
activate_page("#mainpage");
};
});
你能帮助我吗? 谢谢
2个回答
您需要像下面这样声明并初始化变量 $scope.todos,因为您要推送到 对象 而不是 数组
$scope.todos = [];
Sajeetharan
2015-12-02
您正在尝试
推送
到 JSON 对象,而不是数组,其定义如下:
$scope.todos = [];
kbd
2015-12-02