1. Vue中操作數(shù)組
-
在
Vue
中仰坦,修改數(shù)組中的某一項履植,請務必要用如下方法:push()
、pop()
悄晃、shift()
玫霎、unshift()
、splice()
妈橄、sort()
庶近、reverse()
-
Vue
在底層包裹了數(shù)組的7
個變更方法,本質就是做了兩件事:① 調用原生對應的方法對數(shù)組進行更新眷蚓。 ② 更新頁面鼻种。
2. 生命周期
2.1 何為生命周期
- 生命周期數(shù),又稱:生命周期函數(shù)沙热、生命周期鉤子叉钥。
- 是什么? ——
Vue
在關鍵時刻幫我們調用的一些特殊名稱的函數(shù)罢缸。
2.2 生命周期圖
- 生命周期函數(shù)的名字不可更改,但其中的具體內容投队,看具體需求枫疆。
- 生命周期函數(shù)中的
this
指向是vm
或 組件實例對象。
2.3 常用的鉤子
-
mounted
: 發(fā)送ajax
請求敷鸦、啟動定時器息楔、綁定自定義事件、訂閱消息等【初始化操作】 -
beforeDestroy
: 清除定時器扒披、解綁自定義事件值依、取消訂閱消息等【收尾工作】。
3. 組件化
3.1 對組件的理解
概念:應用中局部功能代碼和資源的集合碟案。
3.2 準備一個效果
展示:學校愿险、人員 相關信息。
3.3 組件的基本使用
Vue
中使用組件的三大步驟:
-
第一步:創(chuàng)建組件
- 如何創(chuàng)建組件蟆淀?—— 使用
Vue.extend(options)
方法拯啦。 - 其中的
options
和new Vue(options)
幾乎一樣,但也有點小區(qū)別熔任,區(qū)別如下:- 組件配置中不能寫
el
褒链,為什么乏屯?—— 由vm
去決定服務哪個容器吟逝,組件跟著走就ok
了。 - 組件配置中
data
必須寫成函數(shù)蓝牲,為什么惦费? —— 避免組件復用時產(chǎn)生數(shù)據(jù)的干擾兵迅。
- 組件配置中不能寫
- 如何創(chuàng)建組件蟆淀?—— 使用
-
第二步:注冊組件
new Vue({...})
時,使用components
配置薪贫。 -
第三步:使用組件(編寫組件標簽)恍箭。
<Person> </Person>
3.4 關于組件名
開始本章節(jié)前,先要讓容器變空瞧省,所有的結構都配置在template
中扯夭。
- 一個單詞組成:
- 第一種寫法:(首字母小寫):
school
- 第二種寫法:(首字母大寫):
School
—— 推薦
- 第一種寫法:(首字母小寫):
- 多個單詞組成:
- 第一種寫法:
kebab-case
命名,例如:atguigu-school
- 第二種寫法:
CamelCase
命名鞍匾,例如:AtguiguSchool
==> 不能在容器里用交洗,要在template
中用。
- 第一種寫法:
可以使用
name
配置項橡淑,指定組件在開發(fā)者工具中的名字构拳。
3.5 關于組件標簽
第一種寫法:
<組件名></組件名>
-
第二種寫法:
<組件名/>
==> 不能在容器里用,要在template
中用。直接在容器里寫單標簽置森,會有這么一個
bug
:該單標簽后的組件都不解析了斗埂。解決辦法如下:- 給
vm
加上template
配置項,template
中可以寫連續(xù)多個的單標簽暇藏。 - 使用腳手架開發(fā)蜜笤。
- 給
3.6 總結_組件名 _組件標簽
通常情況下,我們不在容器中寫任何的代碼盐碱。
3.7 App組件的使用
通常使用App
組件,作為所有組件的根組件沪伙。
// 創(chuàng)建一個App組件
let App = Vue.extend({
components:{Person,School},
template:`
<div>
<Person></Person>
<hr>
<School></School>
</div>`
})
3.8 注冊全局組件
- 若某個組件瓮顽,需要在很多的地方使用,可以進行全局注冊围橡。
- 語法:
Vue.component('組件名',具體的組件)
3.9 VueComponent
組件的本質是一個構造函數(shù)暖混,名為:
VueComponent
。VueComponent
翁授,不是我們定義的拣播,也不是引入了vue.js
就有的,而是Vue.extend()
生成的收擦。-
我們只需要寫
<Person></Person>
或<Person/>
贮配,Vue
底層就會幫我們執(zhí)行:new VueComponent()
。簡記:定義組件是在創(chuàng)建
VueComponent
塞赂,編寫組件標簽是在new VueComponent()
泪勒。 -
關于
this
的指向:-
new Vue(options)
中,this
指向是vm
宴猾。 -
Vue.extend(options)
中:this
指向是vc
圆存。
簡記:
- 創(chuàng)建
vm
時,各種配置函數(shù)中的this
就是vm
仇哆。 - 創(chuàng)建組件時沦辙,各種配置函數(shù)中的
this
就是vc
。
-
備注:
vc
是一個小型的vm
讹剔,但與vm
也有點小不同油讯,例如:vm
可配置el
,而vc
不能配置辟拷。