對Vue2 自定義全局指令Vue.directive和指令的生命周期介紹
在Vue中,自定義指令的生命周期,有5個事件鉤子:1-bind 被綁定, 2-inserted 被插入, 3-update 開始更新, 4-componentUpdated 更新完成,5-unbind 解除綁定。我們可以設(shè)置指令在某一個事件發(fā)生時的具體行為。
例子如下:
頁面一進后,
在控制臺中設(shè)置一個新值:通過控制臺設(shè)置的新name
再設(shè)置一個新值:通過控制臺設(shè)置的新name
最后點擊解綁,解除綁定(解除綁定之后,id="app"的Dom和vm的實例之間解除mvvm的綁定關(guān)系):
代碼:
<h1>自定義指令及其生命周期</h1> <div id="app"> <div v-mydirective.modify1.mofify22="mycolor"> {{ name }} </div> </div> <button onclick="unbindApp()">解綁</button> <script> function unbindApp() { vm.$destroy(); } Vue.directive("mydirective",{ bind:function (el, binding, vnode) { //1-被綁定 console.log("1-bind 被綁定"); console.log("el:",el); console.log("binding:",binding); console.log("vnode:",vnode); el.style.color=binding.value; }, inserted:function (el, binding, vnode) { //2-被插入 console.log("2-inserted 被插入"); }, update:function (el, binding, vnode) { //3-更新 console.log("3-update 更新"); }, componentUpdated:function (el, binding, vnode) { //4-更新完成 console.log("4-componentUpdated 更新完成"); }, unbind:function (el, binding, vnode) { //5-解綁 console.log("5-unbind 解綁"); } }); var vm=new Vue({ el:"#app", data:{ mycolor:"blue", name:"mydirective指令" } }); </script>
以上這篇對Vue2 自定義全局指令Vue.directive和指令的生命周期介紹就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
- Vue3實現(xiàn)全局loading指令的示例詳解
- vue全局注冊自定義指令防抖解析
- vue全局自定義指令和局部自定義指令的使用
- Vue全局自定義指令Modal拖拽的實踐
- vue全局自定義指令-元素拖拽的實現(xiàn)代碼
- vue directive定義全局和局部指令及指令簡寫
- vue3的自定義指令directives實現(xiàn)
- vue 自定義指令directives及其常用鉤子函數(shù)說明
- vue?filters和directives訪問this的問題詳解
- vue通過指令(directives)實現(xiàn)點擊空白處收起下拉框
- 詳解vue + vuex + directives實現(xiàn)權(quán)限按鈕的思路
- vue全局指令文件 directives詳解
相關(guān)文章
Vue?elementui如何實現(xiàn)表格selection的默認(rèn)勾選
這篇文章主要介紹了Vue?elementui如何實現(xiàn)表格selection的默認(rèn)勾選問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-06-06vue使用require.context實現(xiàn)動態(tài)注冊路由
這篇文章主要介紹了vue使用require.context實現(xiàn)動態(tài)注冊路由的方法,幫助大家更好的理解和使用vue框架,感興趣的朋友可以了解下2020-12-12談?wù)刅UE種methods watch和compute的區(qū)別和聯(lián)系
本篇文章主要介紹了談?wù)刅UE種methods watch和compute的區(qū)別和聯(lián)系,具有一定的參考價值,有興趣的可以了解一下2017-08-08