vue混入的詳解

2021-09-23 22:43:57 字數 2457 閱讀 6187

混入 (mixins) 是一種分發 vue 元件中可復用功能的非常靈活的方式。混入物件可以包含任意元件選項。當元件使用混入物件時,所有混入物件的選項將被混入該元件本身的選項。

同名鉤子函式將混合為乙個陣列,因此都將被呼叫。另外,混入物件的鉤子函式將在元件自身鉤子函式之前呼叫

>

<

/div>

<

/body>

<

/html>

"./vue.js"

>

<

/script>

var mixins =

}new

vue(})

// mixins created

<

/script>

資料物件在內部會進行淺合併 (一層屬性深度),在和元件的資料發生衝突時以元件資料優先(元件的data中變數會覆蓋混入物件的data中變數)

>

<

/div>

<

/body>

"./vue.js"

>

<

/script>

var mixins =

,created()

}new

vue(

,created()

})// 我是元件中的變數:i am msg2

// 我是混入物件中的變數:i am mixins msg1

<

/script>

當混合值為物件的選項時,例如 methods、components、directive,將被混合為同乙個物件,兩個物件鍵名衝突時,取元件物件的鍵值對

>

<

/div>

<

/body>

"./vue.js"

>

<

/script>

var mixins =

, mixintwo:

function()

}}newvue(}

,mounted()

})// mixintwo

<

/script>

在 components 目錄下建立乙個mixins資料夾,並在 mixins 目錄下建立乙個 mixin.js 檔案

在 mixin.js 檔案裡寫入如下**

const mixin =},

methods:}}

export

default mixin

在需要的頁面引入並使用

}<

/div>

<

/template>

import mixin from

'../mixins/mixin'

export

default

}mounted()

}// 哈哈,這是mixin混入的方法

1. 在 html 中全域性混入一旦使用全域性混入物件,將會影響到所有之後建立的 vue 例項

>

<

/div>

<

/body>

<

/html>

"./vue.js"

>

<

/script>

vue.

mixin(}

})newvue(}

,mounted()

})// mixinone

// mixintwo

<

/script>

2. 在 vue 專案中全域性混入在 main.js 中寫入如下**

import vue from

'vue'

import router from

'./router'

vue.config.productiontip =

false

vue.

mixin(}

, methods:}}

)/* eslint-disable no-new */

newvue

()

在元件中直接使用

}<

/div>

<

/template>

export

default

}mounted()

}// 哈哈,這是mixin混入的方法

<

/script>

vue中mixin的混入使用 超詳解

mixins是在引入元件之後,則是將元件內部的內容如data等方法 method等屬性與父元件相應內容進行合併。相當於在引入後,父元件的各種屬性方法都被擴充了 多個元件可以共享資料和方法,在使用mixin的元件中引入後,mixin中的方法和屬性也就併入到該元件中,可以直接使用。鉤子函式會兩個都被呼叫...

vue元件 混入

前邊介紹了元件,我們知道元件包含三個部分 html 模板 js css 但是,有時候,我們的模板可能是不同的,但是執行的方法和需要的資料類似,這時候,我們可以使用混入 mixins。混入 mixins 通常是乙個 js 檔案,但是其中可以寫 vue 元件的 js 部分的任何內容,包括 data,me...

vue的mixins混入功能

混入minxins 分發vue元件中可復用功能的靈活方式。混入物件可以包含任意元件選項。元件使用混入物件時,所有混入物件的選項將混入該元件本身的選項。選項合併 元件選項和物件選項同名時,將以恰當方式混合。資料物件 和元件資料衝突時以元件資料優先 同名鉤子函式 混合為乙個陣列,都將被呼叫,混入物件鉤子...