知識(shí)點(diǎn)
- 理解:Vue3.0中一個(gè)新的配置項(xiàng)谒臼,值為一個(gè)函數(shù)艇挨。
- setup是所有Composition API(組合API)的入口。
- 組件中所用到的:數(shù)據(jù)负懦、方法等等筒捺,均要配置在setup中。
- setup函數(shù)的兩種返回值:
- 若返回一個(gè)對(duì)象纸厉,則對(duì)象中的屬性系吭、方法, 在模板中均可以直接使用。(重點(diǎn)關(guān)注?牌贰)
- 若返回一個(gè)渲染函數(shù):則可以自定義渲染內(nèi)容肯尺。(了解)
...
return (h)=> return {h('h1','佩奇')}
...
//將看不到template標(biāo)簽中寫的內(nèi)容。
- 注意點(diǎn):
- 盡量不要與Vue2.x配置混用
- Vue2.x配置(data躯枢、methos则吟、computed...)中可以訪問(wèn)到
setup中的屬性、方法锄蹂。
但在setup中不能訪問(wèn)到Vue2.x配置(data氓仲、methos、
computed...)得糜。
如果有重名, setup優(yōu)先寨昙。 - setup不能是一個(gè)async函數(shù),因?yàn)榉祷刂挡辉偈莚eturn的對(duì)象, 而是promise, 模板看不到return對(duì)象中的屬性掀亩。(后期也可以返回一個(gè)Promise實(shí)例舔哪,但需要Suspense和異步組件的配合)
- 注意點(diǎn)
- setup執(zhí)行的時(shí)機(jī)
在beforeCreate之前執(zhí)行一次,this是undefined槽棍。 - setup的參數(shù)
- props:值為對(duì)象捉蚤,包含:組件外部傳遞過(guò)來(lái),且組件內(nèi)部聲明
接收了的屬性炼七。 - context:上下文對(duì)象
- attrs: 值為對(duì)象缆巧,包含:組件外部傳遞過(guò)來(lái),但沒(méi)有在props配
置中聲明的屬性, 相當(dāng)于 this.$attrs豌拙。 - slots: 收到的插槽內(nèi)容, 相當(dāng)于 this.$slots陕悬。
- emit: 分發(fā)自定義事件的函數(shù), 相當(dāng)于 this.$emit。
- attrs: 值為對(duì)象缆巧,包含:組件外部傳遞過(guò)來(lái),但沒(méi)有在props配
- props:值為對(duì)象捉蚤,包含:組件外部傳遞過(guò)來(lái),且組件內(nèi)部聲明
- setup執(zhí)行的時(shí)機(jī)