国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

Vue使用mixin分發(fā)組件的可復(fù)用功能

2024-05-06 15:35:11
字體:
供稿:網(wǎng)友

vue創(chuàng)建高階組件的實現(xiàn)不夠react優(yōu)雅,但那是vue和react的設(shè)計思想導(dǎo)致的。在react中一切都是函數(shù),而在vue中,組件最終都是函數(shù),但在開發(fā)時可以是JSON對象,而且每個vue組件要注意三個點:props、events和slots,就是這三個導(dǎo)致vue創(chuàng)建高階組件時要傳入相應(yīng)的屬性,較react要復(fù)雜。

vue官方推薦使用mixins來完成高階組件的功能,如果對vue實現(xiàn)高階組件有興趣的話推薦看[vue實現(xiàn)高階組件][1]

下面是vue官網(wǎng)使用mixins的例子:

// 定義一個混入對象var myMixin = { created: function () {  this.hello() }, methods: {  hello: function () {   console.log('hello from mixin!')  } }}// 定義一個使用混入對象的組件var Component = Vue.extend({ mixins: [myMixin]})var component = new Component() // => "hello from mixin!"

每個vue組件有mixins屬性接收mixin數(shù)組,但由于mixin與組件,mixin與mixin之間存在屬性命名沖突的問題,vue解決這個的方式是:

1 數(shù)據(jù)對象在內(nèi)部會進行遞歸合并,并在發(fā)生沖突時以組件數(shù)據(jù)優(yōu)先。

2 值為對象的選項,例如 methods、components 和 directives,將被合并為同一個對象。兩個對象鍵名沖突時,取組件對象的鍵值對。

3 Vue.extend()和new Vue()創(chuàng)建的組件,解決上述的命名沖突的方案是一樣的。

總結(jié)

以上所述是小編給大家介紹的Vue使用mixin分發(fā)組件的可復(fù)用功能,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復(fù)大家的!

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 临清市| 兴化市| 孝感市| 榆中县| 克拉玛依市| 工布江达县| 闵行区| 泽普县| 东海县| 重庆市| 鄯善县| 湾仔区| 永嘉县| 云安县| 泾源县| 桑日县| 锡林浩特市| 玉田县| 皋兰县| 大丰市| 安顺市| 邯郸县| 二连浩特市| 八宿县| 昌吉市| 沁源县| 伊金霍洛旗| 建平县| 高阳县| 鄂托克旗| 彭州市| 聂拉木县| 江口县| 洛川县| 马龙县| 本溪市| 平乐县| 大方县| 水富县| 白银市| 瓦房店市|