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

vue實例的選項總結(jié)

 更新時間:2020年06月09日 15:49:02   作者:codedot  
這篇文章主要介紹了Vue實例的選項有哪些,文中講解非常細(xì)致,代碼幫助大家更好的學(xué)習(xí),感興趣的朋友可以了解下

一、數(shù)據(jù)

API:https://cn.vuejs.org/v2/api/#%E9%80%89%E9%A1%B9-%E6%95%B0%E6%8D%AE

1. data

類型:Object | Function

限制:組件的定義只接受 function

詳細(xì):Vue 實例的數(shù)據(jù)對象。Vue 將會遞歸將 data 的屬性轉(zhuǎn)換為 getter/setter,從而讓 data 的屬性能夠響應(yīng)數(shù)據(jù)變化。對象必須是純粹的對象 (含有零個或多個的 key/value 對)。當(dāng)一個組件被定義,data 必須聲明為返回一個初始數(shù)據(jù)對象的函數(shù),因為組件可能被用來創(chuàng)建多個實例。如果 data 仍然是一個純粹的對象,則所有的實例將共享引用同一個數(shù)據(jù)對象!通過提供 data 函數(shù),每次創(chuàng)建一個新實例后,我們能夠調(diào)用 data 函數(shù),從而返回初始數(shù)據(jù)的一個全新副本數(shù)據(jù)對象。

var data = { a: 1 }

// 直接創(chuàng)建一個實例
var vm = new Vue({
 data: data
})
vm.a // => 1
vm.$data === data // => true

// Vue.extend() 中 data 必須是函數(shù)
var Component = Vue.extend({
 data: function () {
  return { a: 1 }
 }
})

2. computed

類型:{ [key: string]: Function | { get: Function, set: Function } }

詳細(xì):計算屬性將被混入到 Vue 實例中。所有 getter 和 setter 的 this 上下文自動地綁定為 Vue 實例。計算屬性的結(jié)果會被緩存,除非依賴的響應(yīng)式屬性變化才會重新計算。注意,如果某個依賴 (比如非響應(yīng)式屬性) 在該實例范疇之外,則計算屬性是不會被更新的。

var vm = new Vue({
 data: { a: 1 },
 computed: {
  // 僅讀取
  aDouble: function () {
   return this.a * 2
  },
  // 讀取和設(shè)置
  aPlus: {
   get: function () {
    return this.a + 1
   },
   set: function (v) {
    this.a = v - 1
   }
  }
 }
})
vm.aPlus  // => 2
vm.aPlus = 3
vm.a    // => 2
vm.aDouble // => 4

3. methods

類型:{ [key: string]: Function }

詳細(xì):methods 將被混入到 Vue 實例中。可以直接通過 VM 實例訪問這些方法,或者在指令表達(dá)式中使用。方法中的 this 自動綁定為 Vue 實例。

var vm = new Vue({
 data: { a: 1 },
 methods: {
  plus: function () {
   this.a++
  }
 }
})
vm.plus()
vm.a // 2

4. watch

類型:{ [key: string]: string | Function | Object | Array }

詳細(xì):一個對象,鍵是需要觀察的表達(dá)式,值是對應(yīng)回調(diào)函數(shù)。值也可以是方法名,或者包含選項的對象。Vue 實例將會在實例化時調(diào)用 $watch(),遍歷 watch 對象的每一個屬性。

5. props

類型:Array<string> | Object

詳細(xì):props 可以是數(shù)組或?qū)ο螅糜诮邮諄碜愿附M件的數(shù)據(jù)。props 可以是簡單的數(shù)組,或者使用對象作為替代,對象允許配置高級選項,如類型檢測、自定義驗證和設(shè)置默認(rèn)值。

你可以基于對象的語法使用以下選項:

1  type: 可以是下列原生構(gòu)造函數(shù)中的一種:String、Number、Boolean、Array、Object、Date、Function、Symbol、任何自定義構(gòu)造函數(shù)、或上述內(nèi)容組成的數(shù)組。會檢查一個 prop 是否是給定的類型,否則拋出警告。Prop 類型的更多信息在此。

2  default: any 為該 prop 指定一個默認(rèn)值。如果該 prop 沒有被傳入,則換做用這個值。對象或數(shù)組的默認(rèn)值必須從一個工廠函數(shù)返回。

3  required: Boolean 定義該 prop 是否是必填項。在非生產(chǎn)環(huán)境中,如果這個值為 truthy 且該 prop 沒有被傳入的,則一個控制臺警告將會被拋出。

4  validator: Function 自定義驗證函數(shù)會將該 prop 的值作為唯一的參數(shù)代入。在非生產(chǎn)環(huán)境下,如果該函數(shù)返回一個 falsy 的值 (也就是驗證失敗),一個控制臺警告將會被拋出。你可以在這里查閱更多 prop 驗證的相關(guān)信息。

二、DOM

API:https://cn.vuejs.org/v2/api/#%E9%80%89%E9%A1%B9-DOM

1.el

類型:string | Element

限制:只在用 new 創(chuàng)建實例時生效。

詳細(xì):

(1)提供一個在頁面上已存在的 DOM 元素作為 Vue 實例的掛載目標(biāo)。可以是 CSS 選擇器,也可以是一個 HTMLElement 實例。

(2)在實例掛載之后,元素可以用 vm.$el 訪問。

(3)如果在實例化時存在這個選項,實例將立即進(jìn)入編譯過程,否則,需要顯式調(diào)用 vm.$mount() 手動開啟編譯。

提供的元素只能作為掛載點。不同于 Vue 1.x,所有的掛載元素會被 Vue 生成的 DOM 替換。因此不推薦掛載 root 實例到 <html> 或者 <body> 上。

如果 render 函數(shù)和 template property 都不存在,掛載 DOM 元素的 HTML 會被提取出來用作模板,此時,必須使用 Runtime + Compiler 構(gòu)建的 Vue 庫。

2.template

類型:string

詳細(xì):一個字符串模板作為 Vue 實例的標(biāo)識使用。模板將會替換掛載的元素。掛載元素的內(nèi)容都將被忽略,除非模板的內(nèi)容有分發(fā)插槽。

如果值以 # 開始,則它將被用作選擇符,并使用匹配元素的 innerHTML 作為模板。常用的技巧是用 <script type="x-template"> 包含模板。

出于安全考慮,你應(yīng)該只使用你信任的 Vue 模板。避免使用其他人生成的內(nèi)容作為你的模板。

如果 Vue 選項中包含渲染函數(shù),該模板將被忽略。

3.render

類型:(createElement: () => VNode) => VNode

詳細(xì):字符串模板的代替方案,允許你發(fā)揮 JavaScript 最大的編程能力。該渲染函數(shù)接收一個 createElement 方法作為第一個參數(shù)用來創(chuàng)建 VNode。

如果組件是一個函數(shù)組件,渲染函數(shù)還會接收一個額外的 context 參數(shù),為沒有實例的函數(shù)組件提供上下文信息。

Vue 選項中的 render 函數(shù)若存在,則 Vue 構(gòu)造函數(shù)不會從 template 選項或通過 el 選項指定的掛載元素中提取出的 HTML 模板編譯渲染函數(shù)。

4.renderError

2.2.0 新增

類型:(createElement: () => VNode, error: Error) => VNode

詳細(xì):只在開發(fā)者環(huán)境下工作。

當(dāng) render 函數(shù)遭遇錯誤時,提供另外一種渲染輸出。其錯誤將會作為第二個參數(shù)傳遞到 renderError。這個功能配合 hot-reload 非常實用。

示例:

new Vue({
 render (h) {
  throw new Error('oops')
 },
 renderError (h, err) {
  return h('pre', { style: { color: 'red' }}, err.stack)
 }
}).$mount('#app')

以上就是vue實例的選項總結(jié)的詳細(xì)內(nèi)容,更多關(guān)于VUE 實例選項的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • vue同個按鈕控制展開和折疊同個事件操作

    vue同個按鈕控制展開和折疊同個事件操作

    這篇文章主要介紹了vue同個按鈕控制展開和折疊同個事件操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • Vue監(jiān)聽localstorage變化的方法詳解

    Vue監(jiān)聽localstorage變化的方法詳解

    在日常開發(fā)中,我們經(jīng)常使用localStorage來存儲一些變量,這些變量會存儲在瀏覽中,對于localStorage來說,即使關(guān)閉瀏覽器,這些變量依然存儲著,方便我們開發(fā)的時候在別的地方使用,本文就給大家介紹Vue如何監(jiān)聽localstorage的變化,需要的朋友可以參考下
    2023-10-10
  • Vue3父子組件間傳參通信的四種方式

    Vue3父子組件間傳參通信的四種方式

    近期學(xué)習(xí)vue3的父子組件之間的傳值,發(fā)現(xiàn)跟vue2的并沒有太大的區(qū)別,下面這篇文章主要給大家介紹了關(guān)于Vue3父子組件間傳參通信的四種方式,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-05-05
  • vue webpack實用技巧總結(jié)

    vue webpack實用技巧總結(jié)

    本篇文章給大家總結(jié)了vue+webpack的實用技巧以及相關(guān)實例代碼分享,有興趣的朋友可以參考學(xué)習(xí)下。
    2018-04-04
  • Vue完整版和runtime版的區(qū)別詳解

    Vue完整版和runtime版的區(qū)別詳解

    這篇文章主要為大家介紹了Vue完整版和runtime版的區(qū)別詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-12-12
  • vue使用elementui的el-menu的折疊菜單collapse示例詳解

    vue使用elementui的el-menu的折疊菜單collapse示例詳解

    這篇文章主要介紹了vue使用elementui的el-menu的折疊菜單collapse示例詳解,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-12-12
  • 解決vue頁面刷新或者后退參數(shù)丟失的問題

    解決vue頁面刷新或者后退參數(shù)丟失的問題

    下面小編就為大家分享一篇解決vue頁面刷新或者后退參數(shù)丟失的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03
  • Vue使用Three.js創(chuàng)建交互式3D場景的全過程

    Vue使用Three.js創(chuàng)建交互式3D場景的全過程

    在現(xiàn)代Web開發(fā)中,通過在頁面中嵌入3D場景,可以為用戶提供更加豐富和交互性的體驗,Three.js是一款強大的3D JavaScript庫,它簡化了在瀏覽器中創(chuàng)建復(fù)雜3D場景的過程,本文將介紹如何在Vue中使用Three.js,創(chuàng)建一個簡單的交互式3D場景,需要的朋友可以參考下
    2023-11-11
  • Vue中裝飾器的使用示例詳解

    Vue中裝飾器的使用示例詳解

    Vue?Property?Decorator提供了一些裝飾器,包括@Prop、@Watch、@Emit、@Inject、@Provide、@Model等等,本文主要來和大家講講它們的使用方法,需要的可以參考一下
    2023-07-07
  • Vue3快速實現(xiàn)文件上傳OSS的方法詳解

    Vue3快速實現(xiàn)文件上傳OSS的方法詳解

    這篇文章給大家介紹了Vue3快速實現(xiàn)文件上傳OSS的方法,上傳文件可以說是經(jīng)典的需求了,在后臺管理項目中隨處可見,一般是由前端進(jìn)行文件上傳,然后再由后端去處理,本文旨在實現(xiàn)上傳功能,不考慮額外的功能(如文件尺寸限制),感興趣的朋友可以參考下
    2024-01-01

最新評論