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

Vue 構(gòu)造選項 - 進階使用說明

 更新時間:2020年08月14日 10:29:44   作者:過程是風(fēng)景  
這篇文章主要介紹了Vue 構(gòu)造選項 - 進階使用說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

Directive指令:減少DOM操作的重復(fù)

Vue實例/組件用于數(shù)據(jù)綁定、事件監(jiān)聽、DOM更新

Vue指令主要目的就是原生DOM操作

減少重復(fù)

自定義指令

兩種聲明方式

方法一:聲明一個全局指令

Vue.directive('x', directiveOptions)

方法二:聲明一個局部指令

在options里寫,只能被那個Vue實例/組件使用

new Vue({
  ...,
  directives:{
    "x":directiveOptions
  }
})

關(guān)于directiveOptions

directiveOptions是個對象,里面有五個函數(shù)屬性

bind(el, info, vnode, oldVnode)★

類似created,只調(diào)用一次,指令第一次綁定到元素時調(diào)用。

參數(shù)都是vue給我們的

el綁定指令的那個元素

info是個對象,我們想要的信息基本都在里面

vnode虛擬節(jié)點

oldVnode之前的虛擬節(jié)點

inserted(參數(shù)同上)★

類似mounted,被綁定元素插入父節(jié)點時調(diào)用 (僅保證父節(jié)點存在,但不一定已被插入文檔中)。

update(參數(shù)同上)

類似 updated

componentUpdated(參數(shù)同上)

用得不多,見文檔

unbind(參數(shù)同上)★

類似destroyed,當(dāng)元素要消亡時調(diào)用。

bind示例

Mixins混入:復(fù)制

Mixins示例

減少重復(fù)

directives的作用是減少DOM操作的重復(fù)

mixins的作用是減少data、methods、鉤子的重復(fù)

options里的構(gòu)造選項都可以先放到一個js文件,之后哪個實例/組件需要就導(dǎo)入并且用mixins使用就行。

寫在了共同東西里的東西被組件引用了之后,組件還可以覆蓋他們,Vue會智能合并

全局的mixins:不推薦

Extends 繼承、擴展

extends是比mixins更抽象一點的封裝

如果你嫌寫五次mixins麻煩,可以考慮extends一次

不過實際工作中用得很少

你可以使用Vue.extend或options.extends

provide & inject:提供&注入

祖先提供東西,后代注入東西

作用是大范圍、隔N代共享信息(data、methods等)

示例

總結(jié)

directive指令

全局用Vue.directive('x', {...})

局部用options.directives

作用是減少DOM操作相關(guān)重復(fù)代碼

mixins混入

全局用Vue.mixin({..})

局部用options.mixins: [mixin1, mixin2]

作用是減少options里的重復(fù)

extends繼承/擴展

全局用Vue.extend({.})

局部用options.extends: {...}

作用跟mixins差不多,只是形式不同

provide | inject提供和注入

祖先提供東西,后代注入東西

作用是大范圍、隔N代共享信息

補充知識:表單和 v-model

思維導(dǎo)圖

form 做表單一定要用 form+button組合

<template>
  <div id="app">
    登錄
    <form @submit.prevent="onSubmit">  //.prevent阻止默認(rèn)動作
      <label>
        <span>用戶名</span>
        <input type="text" v-model="user.username"/>
      </label>
      <label>
        <span>密碼</span>
        <input type="password" v-model="user.password"/>
      </label>
      <button type="submit">
        登錄
      </button>
    </form>

  </div>
</template>

<script>
 export default {
  name: 'App',
  data() {
   return {
    user: {
     username: '',
     password: ''
    },
    x: ''
   }
  },
  methods: {
   onSubmit() {
    console.log(this.user)
   }
  },
  components: {}
 }
</script>

v-model

<label>
        <span>用戶名</span>
        <input type="text" v-model="user.username"/>
</label> 

上面的v-model等價于

<label>
        <span>用戶名</span>
        <input type="text" :value="user.username"
        @input = "user.username = $event.target.value"/>
</label>

自己封裝一個

<template>
  <div class="red wrapper">
    <input :value="value" @input="$emit('input',$event.target.value)"/>
  </div>
</template>

<script>

 export default {
  name: 'MyInput',
  props: {
   value: {
    type: String
   }
  },
 }
</script>

<style scoped>
  .red {
    background: red;
  }
  .wrapper{
    display: inline-block;
  }
</style>

以上這篇Vue 構(gòu)造選項 - 進階使用說明就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • vue加載自定義的js文件方法

    vue加載自定義的js文件方法

    下面小編就為大家分享一篇vue加載自定義的js文件方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03
  • vue項目debugger調(diào)試看不到源碼的問題及解決

    vue項目debugger調(diào)試看不到源碼的問題及解決

    這篇文章主要介紹了vue項目debugger調(diào)試看不到源碼的問題及解決,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • vuex 中輔助函數(shù)mapGetters的基本用法詳解

    vuex 中輔助函數(shù)mapGetters的基本用法詳解

    mapGetters輔助函數(shù)僅僅是將 store 中的 getter 映射到局部計算屬性,在組件或界面中不使用mapGetter調(diào)用映射vuex中的getter,在組件或界面中使用mapGetter調(diào)用映射vuex中的getter,具體內(nèi)容跟隨小編一起通過本文學(xué)習(xí)吧 
    2021-07-07
  • 詳解vue3.2中setup語法糖<script?lang="ts"?setup>

    詳解vue3.2中setup語法糖<script?lang="ts"?setup>

    Vue 3.2 引入了語法,這是一種稍微不那么冗長的聲明組件的方式,下面這篇文章主要介紹了詳解vue3.2中setup語法糖<script?lang="ts"setup>的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-01-01
  • vue.js樣式布局Flutter業(yè)務(wù)開發(fā)常用技巧

    vue.js樣式布局Flutter業(yè)務(wù)開發(fā)常用技巧

    這篇文章主要為大家介紹了vue.js樣式布局Flutter業(yè)務(wù)開發(fā)中的常用技巧,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步早日升職加薪
    2021-11-11
  • vue3+vite使用vite-plugin-svg-icons插件顯示本地svg圖標(biāo)的方法

    vue3+vite使用vite-plugin-svg-icons插件顯示本地svg圖標(biāo)的方法

    這篇文章主要介紹了vue3+vite使用vite-plugin-svg-icons插件顯示本地svg圖標(biāo)的方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-12-12
  • vue 中url 鏈接左邊的小圖標(biāo)更改問題

    vue 中url 鏈接左邊的小圖標(biāo)更改問題

    這篇文章主要介紹了vue 中url 鏈接左邊的小圖標(biāo)更改問題,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-12-12
  • vue之?dāng)?shù)據(jù)代理詳解

    vue之?dāng)?shù)據(jù)代理詳解

    這篇文章主要為大家介紹了vue之?dāng)?shù)據(jù)代理,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-12-12
  • vue兩個輸入框聯(lián)動校驗方式(最大值-最小值)

    vue兩個輸入框聯(lián)動校驗方式(最大值-最小值)

    這篇文章主要介紹了vue兩個輸入框聯(lián)動校驗方式(最大值-最小值),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • Vue3 插槽使用匯總

    Vue3 插槽使用匯總

    這篇文章主要給大家分享了Vue3的 插槽使用匯總,在 2.6.0中,vue 為具名插槽和作用于插槽引入了一個新的統(tǒng)一語法:v-slot。它取代了 slot 和 slot-scope 在新版中的應(yīng)用,下面就一起來看看文章的詳細內(nèi)容吧
    2021-12-12

最新評論