成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

Vue 混合、自定義指令、插件

whlong / 3173人閱讀

摘要:當(dāng)組件和混合對(duì)象含有同名選項(xiàng)時(shí),這些選項(xiàng)將以恰當(dāng)?shù)姆绞交旌献远x指令除了默認(rèn)設(shè)置的核心指令和也允許注冊(cè)自定義指令。

vue的復(fù)用性與組合 混合

混合 (mixins) 是一種分發(fā) Vue 組件中可復(fù)用功能的非常靈活的方式?;旌蠈?duì)象可以包含任意組件選項(xiàng)。以組件使用混合對(duì)象時(shí),所有混合對(duì)象的選項(xiàng)將被混入該組件本身的選項(xiàng)。

當(dāng)組件和混合對(duì)象含有同名選項(xiàng)時(shí),這些選項(xiàng)將以恰當(dāng)?shù)姆绞交旌?/p>

var base={
    data:function(){
            return{
                visible:flase,
            };
            
        },
        methods:{
            toggle:function(){
                this.visible=!this.visible
            },
            show:function(){
                this.visible=true;
            },
            hide:function(){
                this.visible=flase;
            },
        }
};
        
var Popup={
        template:"#popup-tpl",
        mixins:[base]
    };
 var Menu={
     template:"#menu-tpl",
    mixins:[base]
 } ;        
自定義指令

除了默認(rèn)設(shè)置的核心指令( v-model 和 v-show ),Vue 也允許注冊(cè)自定義指令。注意,在 Vue2.0 里面,代碼復(fù)用的主要形式和抽象是組件——然而,有的情況下,你仍然需要對(duì)純 DOM 元素進(jìn)行底層操作,這時(shí)候就會(huì)用到自定義指令。

 
組件可以擴(kuò)展 HTML 元素,封裝可重用的代碼
自定義指令
自定義指令
自定義指令
自定義指令
自定義指令
自定義指令
自定義指令
自定義指令
開(kāi)發(fā)插件

插件通常會(huì)為Vue添加全局功能。插件的范圍沒(méi)有限制——一般有下面幾種:

添加全局方法或者屬性,如: vue-custom-element

添加全局資源:指令/過(guò)濾器/過(guò)渡等,如 vue-touch

通過(guò)全局 mixin 方法添加一些組件選項(xiàng),如: vue-router

添加 Vue 實(shí)例方法,通過(guò)把它們添加到 Vue.prototype 上實(shí)現(xiàn)。

一個(gè)庫(kù),提供自己的 API,同時(shí)提供上面提到的一個(gè)或多個(gè)功能,如 vue-router

Vue.js 的插件應(yīng)當(dāng)有一個(gè)公開(kāi)方法 install 。這個(gè)方法的第一個(gè)參數(shù)是 Vue 構(gòu)造器 , 第二個(gè)參數(shù)是一個(gè)可選的選項(xiàng)對(duì)象:

MyPlugin.install = function (Vue, options) {
  // 1. 添加全局方法或?qū)傩?  Vue.myGlobalMethod = function () {
    // 邏輯...
  }
  // 2. 添加全局資源
  Vue.directive("my-directive", {
    bind (el, binding, vnode, oldVnode) {
      // 邏輯...
    }
    ...
  })
  // 3. 注入組件
  Vue.mixin({
    created: function () {
      // 邏輯...
    }
    ...
  })
  // 4. 添加實(shí)例方法
  Vue.prototype.$myMethod = function (methodOptions) {
    // 邏輯...
  }
}  
使用插件

通過(guò)全局方法 Vue.use() 使用插件:

// 調(diào)用 MyPlugin.install(Vue)

Vue.use(MyPlugin)

也可以傳入一個(gè)選項(xiàng)對(duì)象:

Vue.use(MyPlugin, { someOption: true })

Vue.use 會(huì)自動(dòng)阻止注冊(cè)相同插件多次,屆時(shí)只會(huì)注冊(cè)一次該插件。

Vue.js 官方提供的一些插件 (例如 vue-router) 在檢測(cè)到 Vue 是可訪問(wèn)的全局變量時(shí)會(huì)自動(dòng)調(diào)用 Vue.use()。

然而在例如 CommonJS 的模塊環(huán)境中,你應(yīng)該始終顯式地調(diào)用 Vue.use():

// 用 Browserify 或 webpack 提供的 CommonJS 模塊環(huán)境時(shí)
var Vue = require("vue")
var VueRouter = require("vue-router")
// 不要忘了調(diào)用此方法
Vue.use(VueRouter)  

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/88362.html

相關(guān)文章

  • Vue混合、定義指令插件

    摘要:可復(fù)用性和組合混合混合是一種分發(fā)組件中可復(fù)用功能的非常靈活的方式。官方例子定義一個(gè)混合對(duì)象定義一個(gè)使用混合對(duì)象的組件自定義指令允許自定義指令。 可復(fù)用性和組合 混合 混合 (mixins) 是一種分發(fā) Vue 組件中可復(fù)用功能的非常靈活的方式。混合對(duì)象可以包含任意組件選項(xiàng)。以組件使用混合對(duì)象時(shí),所有混合對(duì)象的選項(xiàng)將被混入該組件本身的選項(xiàng)。 showImg(https://segment...

    wwolf 評(píng)論0 收藏0
  • Vue_Vue權(quán)威指南

    摘要:效率不高,很多多余,稱(chēng)之為臟檢查。通過(guò)索引設(shè)置數(shù)組元素并觸發(fā)視圖更新。解決閃爍問(wèn)題自定義指令自定義指令提供一種機(jī)制將數(shù)據(jù)的變化映射為行為。 Vue特性 Vue只是聚焦視圖層,是一個(gè)構(gòu)建數(shù)據(jù)驅(qū)動(dòng)的Web界面的庫(kù)。 Vue通過(guò)簡(jiǎn)單 API提供高效的數(shù)據(jù)綁定和靈活的組件系統(tǒng) 輕量 數(shù)據(jù)綁定 指令 插件化 架構(gòu)從傳統(tǒng)后臺(tái)MVC 向REST API + 前端MV*遷移DOM是數(shù)據(jù)的一種自然映...

    SimonMa 評(píng)論0 收藏0
  • vue 基礎(chǔ)

    摘要:依的值,來(lái)決定哪個(gè)組件被渲染。不具名的內(nèi)容會(huì)替換子組件中我是默認(rèn)內(nèi)容的默認(rèn)內(nèi)容另一個(gè)主要段落。這里是一些聯(lián)系信息渲染結(jié)果為這里可能是一個(gè)頁(yè)面標(biāo)題主要內(nèi)容的一個(gè)段落。 vue腳手架頁(yè)面是怎么生成的? (組件注冊(cè),路由插件的使用); 主要涉及的文件: index.htmlindex.jsmain.jsAPP.vue 大致的過(guò)程就是: main.js 通過(guò) import Vue from v...

    fasss 評(píng)論0 收藏0
  • Vue.js組件可復(fù)用性的混合(mixin)方式和定義指令

    摘要:注意,在里面,代碼復(fù)用的主要形式和抽象是組件然而,有的情況下你仍然需要對(duì)純?cè)剡M(jìn)行底層操作這時(shí)候就會(huì)用到自定義指令。注冊(cè)一個(gè)全局自定義指令當(dāng)綁定元素插入到中。 混合是什么 混合 (mixins) 是一種分發(fā) Vue 組件中可復(fù)用功能的非常靈活的方式。混合對(duì)象可以包含任意組件選項(xiàng)。以組件使用混合對(duì)象時(shí),所有混合對(duì)象的選項(xiàng)將被混入該組件本身的選項(xiàng)。例如: var tpl1={ te...

    未東興 評(píng)論0 收藏0
  • 開(kāi)發(fā)vue全局插件的4種方式

    摘要:定義全局插件的步驟定義全局插件的插件應(yīng)當(dāng)有一個(gè)公開(kāi)方法。這個(gè)方法的第一個(gè)參數(shù)是構(gòu)造器,第二個(gè)參數(shù)是一個(gè)可選的選項(xiàng)對(duì)象具體種方式,寫(xiě)在此處里引入并使用組件內(nèi)調(diào)用全局插件的種方式請(qǐng)謹(jǐn)慎使用全局混入,因?yàn)樗鼤?huì)影響每個(gè)單獨(dú)創(chuàng)建的實(shí)例包括第三方組件。 定義全局插件的步驟 1.定義全局插件 pluginsUtil.jsVue.js 的插件應(yīng)當(dāng)有一個(gè)公開(kāi)方法 install 。這個(gè)方法的第一個(gè)參數(shù)是...

    waterc 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<