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

首頁 > 開發 > JS > 正文

vue指令以及dom操作詳解

2024-05-06 16:35:35
字體:
來源:轉載
供稿:網友

“AngularJS 通過被稱為 指令 的新屬性來擴展 HTML。AngularJS 通過內置的指令來為應用添加功能。AngularJS 允許你自定義指令。”

這是我最初接觸“指令”這個詞。還記得那時候,ng大行其道的時候,我特別好奇怎么給一個div加一個"ng-app" 就能解決這么多問題。

后來隨著前端工作的深入,我用了jq的data-attr并且學會了jq的插件使用。但,這這并不能讓我把它“指令”聯想到一塊,后來插件需要給節點加個標示來顯示某種“狀態管理” 我用了class  例如:pending,loading-end.

但是感覺和樣式混在一塊總是感覺不自在,后來我直接添加一個自定義標簽 例如:attr-pending,attr-loading-end,通過dom上的自定義標簽來標示某個狀態是否完成。

在這個時候,發現"attr-pending,attr-loading-end"與“ng-app,ng-html”什么的非常類似,才恍然大悟,其實“指令”也可以理解為"標識",而具體的邏輯與它無關,它只是一個“標識”罷了。至于,ng-repeat,ng-click  同樣可以理解某個程序在dom上一個“標識” 程序通過它來掛載某個功能。

現在接觸了vue,vue比ng在開發上來說代碼量很明顯少了很多,“指令”一般開發人員不需要自己來實現。但是如果是開發一套ui交互的組件,還是很需要它。

bind: 僅調用一次,當指令第一次綁定元素的時候。

update: 第一次是緊跟在 bind 之后調用,獲得的參數是綁定的初始值;以后每當綁定的值發生變化就會被調用,獲得新值與舊值兩個參數。

unbind:僅調用一次,當指令解綁元素的時候。

1.指令的注冊

指令跟組件一樣需要注冊才能使用,同樣有兩種方式,一種是全局注冊:

Vue.directive('dirName',function(){  //定義指令});另外一種是局部注冊:new Vue({  directives:{    dirName:{      //定義指令    }  }});

2.可在指令函數配置中直接修改DOM[支持數據驅動] input里面的值修改的時候#demo里面的vue也會自動同步

<!DOCTYPE html> <html> <head lang="en">  <meta charset="UTF-8">  <title></title>  <script src="http://cdnjs.cloudflare.com/ajax/libs/vue/0.12.16/vue.min.js"></script> </head> <body> <div>   <p>展示vue指令----vue和元素dom操作的完美結合【拓展】</p>   <p>{{msg}}</p>   <input type="text" v-model="msg"> </div> <div id="demo" v-demo-directive="LightSlateGray : msg"></div>  <script>  Vue.directive('demoDirective', {   bind: function () {    this.el.style.color = '#fff'    this.el.style.backgroundColor = this.arg   },   update: function (value) {    this.el.innerHTML =      'name - '  + this.name + '<br>' +      'raw - '  + this.raw + '<br>' +      'expression - ' + this.expression + '<br>' +      'argument - ' + this.arg + '<br>' +      'value - '  + value   }  });  var demo = new Vue({   el: 'body',   data: {    msg: 'hello!'   }  })  </script> </body> </html> 

官網鏈接: http://v1-cn.vuejs.org/guide/custom-directive.html

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 那坡县| 麻城市| 江陵县| 四平市| 利津县| 揭阳市| 重庆市| 绥阳县| 保靖县| 海淀区| 运城市| 远安县| 新宁县| 延津县| 义乌市| 三河市| 娱乐| 十堰市| 穆棱市| 沈阳市| 依兰县| 巩留县| 仙居县| 通许县| 阳谷县| 乡宁县| 伊川县| 涡阳县| 安泽县| 和硕县| 外汇| 阿克陶县| 南涧| 丰镇市| 林周县| 彰武县| 光泽县| 安阳县| 龙南县| 新化县| 巴彦县|