最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

前端框架Vue.js中Directive知識詳解

 更新時間:2016年09月12日 14:59:48   作者:lihongxun945  
這篇文章主要為大家詳細介紹了前端框架Vue.js中Directive知識,感興趣的小伙伴們可以參考一下

Directive

看上去雖然和Angular中的定義類似,Directive 都是對DOM功能的一種拓展,但是 Vue 的 Directive 要弱的多。因為 Vue Component 其實本來就會包含對DOM的操作,所以大多數(shù)時候我們寫一個通用組件都是一個Component 而不是一個 Directive,而 在 Angular 我們寫一個通用的組件一般都是一個 Directive 。
所以我說 Vue 的 Directive 相比于 Angular 要弱的多,也可以說純粹的多,他就是對 DOM 功能的一個拓展,而不是為了封裝和DOM相關(guān)的邏輯。有興趣可以通過對比這兩個UI庫就能明白:
 •Vux https://github.com/airyland/vux
 •Angular Bootstrap https://github.com/angular-ui/bootstrap 

對比就會發(fā)現(xiàn),其實在 Vue 中我們封裝一個通用的組件(其實不管是不是通用)都是一個 Component,但是在 Angular 中卻是一個 Directive,因為 Angular 中的 Controller 其實只能創(chuàng)建一個 $scope 作用域。可以簡單的認為在 Vue Directive = Angular Directive + Controller。前面講到過 Vue 很多設計都和Angular2類似,Vue 中的 Directive 基本可以等價于 Angular2 的 Directive,但是千萬不要和 Angular 中的 Directive 搞混了。

為了避免誤導,所以后面不再拿 Angular Directive 作對比了。

生命周期

生命周期分為三步:
 •bind 第一次綁定到DOM元素上的時候觸發(fā)
 •update bind完成之后立刻觸發(fā),以后每當參數(shù)更新的時候都會觸發(fā)
 •unbind 解除和DOM元素的綁定時觸發(fā) 

API 簡潔到哭。。。
其中 update 是最重要的,也就是當 Directive 接收到一個值的更新的時候就會執(zhí)行對應的代碼。update函數(shù)接收的參數(shù)就是用戶通過 Attr 傳入的值。

我們下面實現(xiàn)一個簡單的 Directive,它的作用是對 Todo List 輸入的內(nèi)容進行校驗(表單校驗)。Directive 基本結(jié)構(gòu)如下:

Vue.directive("minlength", {
 bind: function() {
 },
 update: function(value) {
 },
 unbind: function() {
 }
});

 然后,我們需要在用戶輸入的時候進行校驗,這里實現(xiàn)一個簡單的 minlength 校驗,代碼如下:

Vue.directive("minlength", {
 bind: function() {
 var self = this;
 var el = this.el;
 el.addEventListener("keydown", function(e) {
  if(e.keyCode === 13) {
  if(el.value.length < self.minlength) {
   e.preventDefault();
  }
  }
 });
 var submit = el.parentNode.querySelector("button, [type='submit']");
 submit.disabled = true;
 el.addEventListener("keyup", function(e) {
  submit.disabled = (el.value.length < self.minlength);
 });

 },
 update: function(value) {
 this.minlength = parseInt(value);
 },
 unbind: function() {
 }
});

基本邏輯就在在 bind 階段的時候就綁定事件,然后根據(jù) update 時候傳入的 minlength 值來進行判斷。

目前看,Directive 應該就是為了實現(xiàn)類似的功能存在的,當然還有很多細枝末節(jié)的用法就不再細講了。Directive 在 Vue 中并不是很重要的一塊,大家平時寫代碼的時候更多還是寫 Component。

Filter 和 Mixins 看起來比較簡單,略過。

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解Vue computed計算屬性是什么

    詳解Vue computed計算屬性是什么

    在vue中,有時候你需要對data中的數(shù)據(jù)進行處理,或者對抓取的數(shù)據(jù)進行處理之后再掛載呈現(xiàn)到標簽中,這時候你就需要計算屬性了,當然看到這里你可能還是不了解那下面我舉幾個實例并附代碼解釋
    2023-03-03
  • vue3中使用swiper的完整版教程(超詳細!)

    vue3中使用swiper的完整版教程(超詳細!)

    工作中日常筆記,vue中使用swiper插件,在pc端和h5端也是常用的插件,下面這篇文章主要給大家介紹了關(guān)于vue3中使用swiper的完整版教程,需要的朋友可以參考下
    2023-04-04
  • 一篇文章帶你了解vue路由

    一篇文章帶你了解vue路由

    這篇文章主要為大家詳細介紹了vue的路由,路由的本質(zhì)就是一種對應關(guān)系,比如說我們在url地址中輸入我們要訪問的url地址之后,瀏覽器要去請求這個url地址對應的資源,本文具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • vue使用代理解決請求跨域問題詳解

    vue使用代理解決請求跨域問題詳解

    這篇文章主要為大家詳細介紹了vue使用代理解決請求跨域問題,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • vue開發(fā)移動端底部導航條功能

    vue開發(fā)移動端底部導航條功能

    這篇文章主要介紹了vue開發(fā)移動端底部導航條功能,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-04-04
  • vue多種彈框的彈出形式的示例代碼

    vue多種彈框的彈出形式的示例代碼

    本篇文章主要介紹了vue多種彈框的彈出形式的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • Vue3 SFC 和 TSX 方式自定義組件實現(xiàn) v-model的詳細過程

    Vue3 SFC 和 TSX 方式自定義組件實現(xiàn) v-model的詳細

    v-model 是 vue3 中的一個內(nèi)置指令,很多表單元素都可以使用這個屬性,如 input、checkbox 等,咱可以在自定義組件中實現(xiàn) v-model,這篇文章主要介紹了Vue3 SFC 和 TSX 方式自定義組件實現(xiàn) v-model,需要的朋友可以參考下
    2022-10-10
  • Element-ui中的Cascader級聯(lián)選擇器基礎用法

    Element-ui中的Cascader級聯(lián)選擇器基礎用法

    這篇文章主要為大家介紹了Element-ui中的Cascader級聯(lián)選擇器基礎用法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-06-06
  • Vue 3中的defineEmits()和defineProps()使用小結(jié)

    Vue 3中的defineEmits()和defineProps()使用小結(jié)

    defineProps()和defineEmits()是Vue 3中Composition API的重要組成部分,它們分別用于定義組件接收的屬性和觸發(fā)的事件,本文給大家介紹Vue 3中的defineEmits()和defineProps()解析,感興趣的朋友跟隨小編一起看看吧
    2024-04-04
  • 讓webpack+vue-cil項目不再自動打開瀏覽器的方法

    讓webpack+vue-cil項目不再自動打開瀏覽器的方法

    今天小編就為大家分享一篇讓webpack+vue-cil項目不再自動打開瀏覽器的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-09-09

最新評論

永胜县| 金乡县| 昌吉市| 田阳县| 大悟县| 普兰县| 荔波县| 岢岚县| 台州市| 安溪县| 阜平县| 凤冈县| 临朐县| 汉沽区| 溧阳市| 毕节市| 乌兰浩特市| 万州区| 仙桃市| 新沂市| 泗水县| 光山县| 鄯善县| 开阳县| 平昌县| 乐安县| 嘉荫县| 广南县| 长海县| 万载县| 温泉县| 金山区| 宜兴市| 丹巴县| 固镇县| 得荣县| 齐河县| 元朗区| 莱芜市| 来凤县| 阆中市|