typescript裝飾器怎么在vue項目中使用?針對這個問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
我們提供的服務(wù)有:成都做網(wǎng)站、成都網(wǎng)站制作、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、萬安ssl等。為上1000家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的萬安網(wǎng)站制作公司
1,data 值的聲明
在這里 public 聲明的是公有屬性, private 聲明的是私有屬性,私有屬性要帶 下劃線
藍(lán)色框里的內(nèi)容是聲明組件,在每個組件創(chuàng)建時都要帶上, Components 中的寫法如下
上面是 普通寫法 ,下面是 懶加載寫法
2.@Prop 父組件傳值給子組件
父組件使用 v-bind 傳遞與js版本一樣,在父組件接受是使用修飾器
@Prop({type:‘類型'})
readonly:傳遞的參數(shù)名稱!:類型
一定要寫全,不然后報錯,也可以寫個 接口 約束 類型
3.@Emit 子組件給父組件傳值
@Emit('傳給父組件的值')
callback
父組件接收與 js 版本一致
4.@Provide @Inject 混入
這個沒什么說的, @Provide 聲明一個值 , 在其他地方用 @Inject 接收
5.@Model 雙向綁定
這個也很簡單,v-model綁定一個值,在子組件使用 @Model('頁面展示的值') 值類型
這里我偷懶,聲明一樣的 (手動笑哭)
5.@Watch 監(jiān)聽函數(shù)
@Watch('監(jiān)聽的值',{深度監(jiān)聽})
callback 回調(diào)函數(shù)
6.鉤子函數(shù)的聲明
與js基本一致
Ts -> Js public create() {} -> create() {} public mounted() {} -> mounted() {} eg: private _changeMsg() {} -> methods: { _changeMsg() {} } eg: private get _changeValue() {} -> computed: { _changeValue() {} } public destory() {} -> destory() {}
7.@State vuex中state的值
@State(state => state數(shù)據(jù)里的參數(shù)) 頁面展示的值
?。。。。?! 注意vuex的數(shù)據(jù)都要在鉤子函數(shù)里 調(diào)用 !?。。。。。。。。。。。?!
8.@Mutation vuex中的mutation
使用與 @State 一致
!?。。。。。。。。。。?!需要注意的是要寫一個接口 將state里面的數(shù)據(jù)類型寫進(jìn)去,如果直接用
state編輯器會報錯 , 當(dāng)然聲明any類型也是可以的, 但是用了Ts還是盡量不要用any吧
?。。。。。。。。。。。。。。。。。。?!
9.@Action vuex 中的action
@Action('action里的方法名') 頁面展示的方法
!?。。。。。?! 由于異步,需要加async await 不然會一直處在padding狀態(tài),
使用promise也是可以的 ?。。。。。。。。。。。。。?!
至于 vue.config.js 網(wǎng)上很多方法,有興趣的可以去找下,在這里貼下自己的
關(guān)于typescript裝飾器怎么在vue項目中使用問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識。
當(dāng)前文章:typescript裝飾器怎么在vue項目中使用
網(wǎng)址分享:http://aaarwkj.com/article18/ipohgp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊、關(guān)鍵詞優(yōu)化、動態(tài)網(wǎng)站、外貿(mào)建站、用戶體驗、網(wǎng)站設(shè)計公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)