@State
- 狀態(tài)變量,一般用于狀態(tài)和UI的綁定,狀態(tài)改變時(shí),UI同步刷新。
- 允許修飾的變量:string、number、boolean、enum、Object(不包含嵌套Object)、class。
- 使用時(shí)指定類型及初始值:
@State a:string = ''。
@Prop
- 一般用于父組件向子組件的單向傳值,子組件修改不會(huì)影響父組件,但是父組件修改后會(huì)覆蓋子組件的值。
- 允許修飾的變量:string、number、boolean、enum。
- 常用場景:父組件@State,子組件@Prop。
- 使用時(shí)指定類型:
@Prop a:string。
@Link
- 雙向綁定,類似vue中的v-model,不能在入口文件(@entry修飾的組件)中使用
- 使用場景:父組件@State,子組件@Link。
- 使用時(shí)指定類型:
@Link a:string。
@Provide和@Consume
- 雙向綁定,類似@State和@Link,應(yīng)用于與后代組件的雙向數(shù)據(jù)同步,數(shù)據(jù)在多個(gè)層級(jí)傳遞的場景
@Observe和@ObserveLink
- 數(shù)據(jù)綁定,應(yīng)用于嵌套數(shù)據(jù)類型,比如數(shù)組內(nèi)嵌數(shù)組,model內(nèi)嵌model
- 使用時(shí)model上面添加@Observe,組件內(nèi)修飾時(shí)用@ObserveLink。