|
14 | 14 | <body> |
15 | 15 | <div id="app"> |
16 | 16 | <div class="app-content"> |
17 | | - <div class="todobox"> |
| 17 | + <div class="todobox" > |
18 | 18 | <ul> <!-- list of todos --> |
19 | | - <div v-for="todolist in todos"> |
20 | | - <todolist v-bind:todolist="todolist"></todolist> |
| 19 | + <div v-for="todolist in todos" v-bind:class="{active: todolist.isActive}"> |
| 20 | + <todolist v-bind:todolist="todolist" ></todolist> |
21 | 21 | </div> |
22 | 22 | </ul> |
23 | 23 | <form v-on:submit.prevent="addItem(todoListId = 1)" >\ |
|
44 | 44 | props: ['todolist'], |
45 | 45 | template:'\ |
46 | 46 | <li>\ |
47 | | - <h2>{{todolist.title}} </h2>\ |
| 47 | + <h2 v-on:click="activateTodolist">{{todolist.title}} </h2>\ |
48 | 48 | <todo-items v-bind:todolist="todolist"></todo-items>\ |
49 | | - </li>' |
| 49 | + </li>', |
| 50 | + methods: { |
| 51 | + activateTodolist: function() { |
| 52 | + var todolist = this.todolist; |
| 53 | + todolist.isActive = !todolist.isActive; |
| 54 | + var index = vm.todos.indexOf(todolist); |
| 55 | + vm.todos.splice(index, 1); |
| 56 | + vm.todos.map(function(todolist){todolist.isActive = false}); |
| 57 | + vm.todos.splice(index, 0, todolist); |
| 58 | + } |
| 59 | + } |
50 | 60 | }); |
51 | 61 | Vue.component('todo-items', { |
52 | 62 | props: ['todolist'], |
@@ -115,9 +125,6 @@ <h3>\ |
115 | 125 | methods: { |
116 | 126 | activateTodoItem: function() { |
117 | 127 | this.$emit('activateItem'); |
118 | | - }, |
119 | | - activateTodo: function(todoItem) { |
120 | | - |
121 | 128 | }, |
122 | 129 | deleteItem: function() { |
123 | 130 | this.$emit('deleteItem'); |
@@ -175,6 +182,7 @@ <h3>\ |
175 | 182 | _this.todos = [data]; |
176 | 183 | } |
177 | 184 | _this.todos.map(function(todolist) { |
| 185 | + todolist.isActive = false; |
178 | 186 | todolist.all_items.map(function(item) { |
179 | 187 | item.isActive = false |
180 | 188 | }); |
|
0 commit comments