var Todos = angular.module('Todos', []); Todos.controller('MainCtrl', ['$scope', '$window', function($scope, $window) { $scope.todos = _loadTodos(); $scope.newTodo = ''; $scope.newTodoKeydownHandler = function(evt) { if(evt.keyCode === 13) { $scope.todos.push({ text: $scope.newTodo }); $scope.newTodo = ''; _saveTodos($scope.todos); } }; $scope.removeTodoByIndex = function(index) { $scope.todos.splice(index, 1); _saveTodos($scope.todos); }; function _loadTodos() { var todosStr = $window.localStorage.getItem('notVanillaTodos.todos'); return JSON.parse(todosStr || '[]'); } function _saveTodos(todos) { var todosStr = JSON.stringify(todos); $window.localStorage.setItem('notVanillaTodos.todos', todosStr); } }]);