app.jsУгловая JS
(function(){
var app=angular.module('tasks_list',[]);
app.controller('TasksController',['$scope',function($scope){
$scope.taskList=localStorage.getItem('memoList');
if($scope.taskList==undefined)
$scope.taskList=[];
console.log($scope.taskList);
console.log($scope.taskList.length);
$scope.addTask=function()
{
var task=document.getElementById('taskBox').value;
console.log(task);
$scope.taskList.push(task);
console.log($scope.taskList);
localStorage.clear();
localStorage.setItem('memoList',$scope.taskList);
};
}]);
})();
index.html
<!DOCTYPE html>
<html ng-app="tasks_list">
<head>
<link rel="stylesheet" href="style.css">
</head>
<body>
<div id="mainDiv" ng-controller="TasksController">
<h2>My To-do List</h2>
<div class="promptMsg" ng-hide="taskList.length">Add your tasks here!</div>
<form>
<div id="list" ng-show="taskList.length" ng-repeat="task in taskList track by $index">
<input type="checkbox"/>
<p>{{task}}</p>
</div>
<div id="addList">
<input type="text" id="taskBox" autofocus/>
<input type="submit" value="Add" ng-click="addTask()"/>
</div>
<input type="submit" value="Remove completed tasks"/>
</form>
</div>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.15/angular.min.js"></script>
<!-- <script src="http://gregpike.net/demos/angular-local-storage/src/angular-local-storage.js"></script> -->
<script src="app.js"></script>
</body>
</html>
В приведенном выше app.js файла, я получаю сообщение об ошибке Msg
undefined is not a function
на $scope.taskList.push(task);
.
Кроме того, в <p>
внутри div id="list"
, я хочу добавить элемент массива, но получаю текстовое письмо по букве.
Пожалуйста, сообщите, что не так в коде.
Так что '$ scope.taskList' явно не массив! – adeneo
как? пожалуйста, дополните. –
Вы должны разобрать, что уберется от localStorage. Сейчас это просто строка. 'JSON.parse (localStorage.getItem ('memoList'))' – cfj