欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vue.extend,mixins和vue.component的區(qū)別及說明

 更新時間:2024年09月21日 14:36:24   作者:web_彭于晏  
Vue.extend 創(chuàng)建Vue的子類,可視為組件構(gòu)造函數(shù),Vue.mixin 允許全局添加方法或?qū)傩?方便所有組件使用,Vue.component 是插件注冊方法,通過Vue.extend創(chuàng)建的組件實例可以注冊到Vue全局,使其在任何組件中可用

1.vue.extend

Vue.extend就是傳入一下組件options,然后返回了一個Vue的子類,也可以看做是一個組件構(gòu)造函數(shù)。

例子:

可以通過vue.component將這個vue子類注冊到全局

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>在Vue中注冊組件</title>
</head>
<body>
<div id="app">
    <todo :todo-data="groceryList"></todo>
</div>
</body>
<script src="https://cdn.jsdelivr.net/npm/vue " type="text/javascript"></script>
<script>
/**
 * 請注意,extend創(chuàng)建的是一個組件構(gòu)造器,而不是一個具體的組件實例。
 * 所以他不能直接在new Vue中這樣使用: new Vue({components: fuck})
 * 最終還是要通過Vue.components注冊才可以使用的。 
 */

// 構(gòu)建一個子組件
var todoItem = Vue.extend({
    template: ` <li> {{ text }} </li> `,
    props: {
        text: {
            type: String,
            default: ''
        }
    }
})

// 構(gòu)建一個父組件
var todoWarp = Vue.extend({
    template: `
        <ul>
            <todo-item 
                v-for="(item, index) in todoData"
                v-text="item.text"
            ></todo-item>
        </ul>
    `,
    props: {
      todoData: {
          type: Array,
          default: []
      }
    },
    // 局部注冊子組件
    components: {
        todoItem: todoItem
    }
})

// 注冊到全局
Vue.component('todo', todoWarp)

new Vue({
    el: '#app',
    data: {
        groceryList: [
            { id: 0, text: '蔬菜' },
            { id: 1, text: '奶酪' },
            { id: 2, text: '隨便其它什么人吃的東西' }
        ]
    }
})
</script>
</html>

2.vue.mixin

mixins可以全局添加一些方法或?qū)傩?,方便所有組件調(diào)用??梢杂脕硖砑油ㄓ玫膶ο笠煤头椒?

在混入的時候會先執(zhí)行混入的created再執(zhí)行組件里的created,當(dāng)方法沖突時會使用當(dāng)前組件里的

例子:

Vue.mixin({
    data:{
        //組件中可以使用this.$axios來調(diào)用axios的方法,十分方便
        $axios: axios
    },
    methods: {
        //每個組件從全局store中取出用戶信息
        getUser() {
            return store.getters.user;
        }
    }
})

3.vue.component

Vue.component是一個插件注冊方法,就是把Vue.extend函數(shù)new出來的組件實例,注冊到Vue的Options上。

本質(zhì)是也就是在全局Vue實例的Options,添加了一個key/value,value就是組件實例。由于組件的

Options會繼承Vue的Options,所以在任何組件中,都能調(diào)用該組件。

Vue.component('global-component', Vue.extend(baseOptions));

這是原始的調(diào)用方式,用Vue.extend注冊一個組件。

Vue內(nèi)部對其進(jìn)行了簡化,可以省略調(diào)用Vue.extend,只傳入Options就行了

//傳入一個選項對象(自動調(diào)用 Vue.extend),等價于上行代碼.
Vue.component('global-component', baseOptions);

???????總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 解決Vue axios post請求,后臺獲取不到數(shù)據(jù)的問題方法

    解決Vue axios post請求,后臺獲取不到數(shù)據(jù)的問題方法

    今天小編就為大家分享一篇解決Vue axios post請求,后臺獲取不到數(shù)據(jù)的問題方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-08-08
  • Vue項目中使用better-scroll實現(xiàn)一個輪播圖自動播放功能

    Vue項目中使用better-scroll實現(xiàn)一個輪播圖自動播放功能

    better-scroll是一個非常非常強大的第三方庫 在移動端利用這個庫 不僅可以實現(xiàn)一個非常類似原生ScrollView的效果 也可以實現(xiàn)一個輪播圖的效果。這篇文章主要介紹了Vue項目中使用better-scroll實現(xiàn)一個輪播圖,需要的朋友可以參考下
    2018-12-12
  • Vue-ANTD表單輸入中自定義校驗一些正則表達(dá)式規(guī)則介紹

    Vue-ANTD表單輸入中自定義校驗一些正則表達(dá)式規(guī)則介紹

    這篇文章主要介紹了Vue-ANTD表單輸入中自定義校驗一些正則表達(dá)式規(guī)則介紹,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • Vue.js進(jìn)階知識點總結(jié)

    Vue.js進(jìn)階知識點總結(jié)

    給大家分享了關(guān)于Vue.js想成為高手的5個總要知識點,需要的朋友可以學(xué)習(xí)下。
    2018-04-04
  • vue proxyTable 接口跨域請求調(diào)試的示例

    vue proxyTable 接口跨域請求調(diào)試的示例

    本篇文章主要介紹了vue proxyTable 接口跨域請求調(diào)試的示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • vue3+ts+vite2項目實戰(zhàn)踩坑記錄

    vue3+ts+vite2項目實戰(zhàn)踩坑記錄

    最近嘗試上手Vue3+TS+Vite,對比起Vue2有些不適應(yīng),但還是真香,下面這篇文章主要給大家介紹了關(guān)于vue3+ts+vite2項目的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-09-09
  • vue中解決el-date-picker更改樣式不生效問題

    vue中解決el-date-picker更改樣式不生效問題

    在使用Vue.js進(jìn)行前端開發(fā)的過程中,Element?UI?是一個非常流行的UI庫,它提供了一套完整的組件來快速搭建美觀的用戶界面,但是我們經(jīng)常遇到一個問題使用Element?UI提供的el-date-picker組件時,嘗試自定義其樣式卻無法生效,所以本文給大家介紹如何解決這個問題
    2024-10-10
  • 如何在 Vue.js 中使用第三方j(luò)s庫

    如何在 Vue.js 中使用第三方j(luò)s庫

    本篇文章主要介紹了如何在 Vue.js 中使用第三方j(luò)s庫,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-04-04
  • Vue2.0+ElementUI實現(xiàn)查詢條件展開和收起功能組件(代碼示例)

    Vue2.0+ElementUI實現(xiàn)查詢條件展開和收起功能組件(代碼示例)

    文章介紹了如何將查詢條件表單封裝成一個通用組件,以提高開發(fā)效率,組件支持多條件的折疊和展開功能,并提供了使用示例,感興趣的朋友一起看看吧
    2025-01-01
  • vue3中的透傳attributes教程示例詳解

    vue3中的透傳attributes教程示例詳解

    這篇文章主要為大家介紹了vue3中的透傳attributes教程示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08

最新評論