今天花了多少時(shí)間在編程的學(xué)習(xí)上: 3
今天完成的事情:
1.在完成了官網(wǎng)的一個(gè)小例子的仿寫之后目標(biāo)盯上了github上面一個(gè)抓取豆瓣電影并展示的 <a >項(xiàng)目</a>
2.理了一遍暫時(shí)對(duì)于項(xiàng)目的結(jié)構(gòu)有點(diǎn)頭緒,接下來需要找一個(gè)youtube的視頻將過程再理一次然后自己用印象筆記總結(jié)下來, 以后照著這個(gè)路徑去走。
3.上次計(jì)劃的重寫js的部分已經(jīng)完成了,直接用codepen寫的保存了在里面。
4.下面這句常用來加一的手段
addTodo: function () {
var value = this.newTodo && this.newTodo.trim()
if (!value) {
return
}
this.todos.push({
id: todoStorage.uid++,
title: value,
completed : false
})
this.newTodo = '',
}
//id: todoStorage.uid++, 這一句寫法為什么能這么用
//這個(gè)寫法里面this的作用
5.編輯todo標(biāo)題的實(shí)現(xiàn),里面的變量一用來在取消的動(dòng)作中回復(fù)名字,變量2在這里實(shí)際上用做一個(gè)調(diào)整去觸發(fā)相應(yīng)的方法,詳情見代碼。市級(jí)上直接改變title就可以改變本地的值所以不需要寫太多的代碼
editTodo: function (todo) {
this.beforeEditCache = todo.title
this.editedTodo = todo
},
6.todo-focus就是上面提到的在滿足條件后執(zhí)行的方法,這個(gè)是自己注冊(cè)的標(biāo)簽,以后會(huì)用到明天寫一個(gè)專題
<input class="edit" type="text"
v-model="todo.title"
v-todo-focus="todo == editedTodo"
@blur="doneEdit(todo)"
@keyup.enter="doneEdit(todo)"
@keyup.esc="cancelEdit(todo)">
//這句里面的v-todo-focus的作用和@blur的作用
7.這個(gè)allDone的寫法set用來切換所有元素的完成值,而get則是用來在set執(zhí)行之前把完成的值設(shè)為false(僅在元素完成值為true的時(shí)候需要)。不然的話在true狀態(tài)下第一次點(diǎn)擊會(huì)失效
allDone: {
get: function () {
return this.remaining === 0
},
set: function (value) {
this.todos.forEach(function (todo) {
todo.completed = value
})
}
8.這句為什么可以直接編輯
<label @dblclick="editTodo(todo)">{{ todo.title }}</label>
答: 這一句并不可以編輯,而是通過這一句讓焦點(diǎn)自動(dòng)聚焦在了input框里面,實(shí)際上編輯的是input而不是label
明天計(jì)劃的事情:
1.參照上面提到的項(xiàng)目來仿寫一遍。