Vue3學習記錄(二)

2021-10-10 15:14:34 字數 3085 閱讀 8945

vue2中有data、computed、method等,我們有時候尋找乙個變數或者函式就需要翻閱整段**。vue3提出了組合式api,並且提出了可以使用組合式api的地方—setup

>

>

>

}p>

@click

="add"

>

加1button

>

div>

template

>

>

import

from

'vue'

;export

default

return;}

}script

>

setup元件選項在建立元件之前執行,此時尚未建立元件例項,所以setup中並沒有this,所以在這裡除了propscontext的屬性之外,都無法訪問元件中宣告的任何屬性。

setup接受propscontext

props:},

setup

(props)

return

// 這裡返回的任何內容都可以用於元件的其餘部分

}

setup內部可以呼叫生命週期鉤子:

beforecreatenot needed*

creatednot needed*

beforemountonbeforemount

mountedonmounted

beforeupdateonbeforeupdate

updatedonupdated

beforeunmountonbeforeunmount

unmountedonunmounted

errorcapturedonerrorcaptured

rendertrackedonrendertracked

rendertriggeredonrendertriggered

setup中可以使用providerinject

import

from

'vue'

;// ...

setup()

)}

import

from

'vue'

;// ...

setup()

}

providerinject提供響應式,確保(祖)父元件資料改變時,可以影響到子元件:

import

from

'vue'

// ...

setup()

)provide

('location'

, location)

provide

('geolocation'

, geolocation)

}

這樣就ok了。

如果想要改變geolocation,建議在提供的元件內部宣告乙個方法讓其更改:

// (祖)父元件

methods:

}

如果一定要在子元件更改的話, 在父元件注入這個方法,在子元件呼叫:

setup()

)const

updatelocation=(

)=>

provide

('location'

, location)

provide

('geolocation'

, geolocation)

provide

('updatelocation'

, updatelocation)

}

// 子元件

import

from

'vue'

export

default

}}

如果想確保provide傳遞的資料不會被注入的元件更改,可以使用readonly

provide

('location'

,readonly

(location)

)provide

('geolocation'

,readonly

(geolocation)

)

這個方法可以獲得當前元件的例項,然後通過ctx屬性獲得當前上下文,這樣就可以在setup中使用routervuex了($router$store)

但是這個方法只能在setup和生命週期中使用。

p.s. 在setup中不能使用asyncawait

vue3學習筆記

vue3 1.context.emit update xx props.xx 可 v model xx更新xx的值 個人記憶,雙向繫結 需要雙向改變的值 代替 vue2 sync 2.元件上繫結的事件預設是繫結第一層,可使用inheritattrs false 取消預設,在需要繼承的屬性的標籤使用v...

vue3學習總結

v model 2.x語法 title.sync oldvalue childcomponent this emit update title newvalue 3.x語法v model title oldvalue childcomponent 所有v model不到引數,一定要改變道具和事件名稱...

Vue3 的初次學習

vue3 出來了,真是乙個激動人心的時刻,可是我又要學習了,開心 bushi 對於製作原型或學習,你可以這樣使用最新版本 src script vue 提供了乙個官方的 cli,為單頁面應用 spa 快速搭建繁雜的腳手架。它為現代前端工作流提供了 batteries included 的構建設定。只...