亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

Vue官方文檔梳理之全局配置

2019-11-19 14:52:43
字體:
來源:轉載
供稿:網友

本文主要介紹了Vue官方文檔梳理之全局配置,分享給大家,也給自己留個筆記。具體如下:

optionMergeStrategies

用于自定義選項的合并策略,Vue已經預定義了一些自己配置項的合并策略,如下圖所示。

比如props、methods、computed就是同一個策略:子配置項會覆蓋父級配置項。源碼如下:

var strats = config.optionMergeStrategies;strats.props =strats.methods =strats.computed = function (parentVal, childVal) { if (!childVal) { return Object.create(parentVal || null) } if (!parentVal) { return childVal } var ret = Object.create(null); extend(ret, parentVal); extend(ret, childVal); return ret};

什么時候才會用到這些配置的合并規則呢?查閱源碼,發現只要調用mergeOptions時,就會用到上面的策略??偨Y下來有以下幾種場景:

  1. 使用了 Vue.mixin 或 mixins 配置項
  2. 使用了 Vue.extend 或 extends 配置項或Vue.component(背后實際上是調用了Vue.extend)
  3. new Vue() 或 new Vue.extend()

單獨使用一個時,也會觸發合并規則,但是只會有child包含配置項,所以不需要合并。只有當多個一起使用時,比如 Vue.compeont 和 extends 、mixins 配置項一起使用,這個時候就parent和child都會有相同的配置項,這時候也才有所謂的合并,舉個完整的例子來說明上述的場景。

Vue.config.optionMergeStrategies['customOption'] = function (toVal, fromVal) {  console.log(toVal, fromVal)  if (!toVal) return fromVal  if (!fromVal) return toVal  // toVal 和 fromVal 同時存在,表明此時parent和child都包含配置型  return toVal + '&' + fromVal}Vue.extend({  customOption: 'Vue.extend'})Vue.component('custom', {  customOption: 'Vue.component'})var vm = new Vue({  customOption: 'newVue',  extends: {    customOption: 'extends'  },  mixins: [{    customOption: 'mixins'  }]})console.log(vm.$options.customOption)

控制臺打印如下:

按順序解釋如下:

  1. undefined "Vue.extend"合并 Vue.options 和 extendOptions
  2. undefined "Vue.component"合并 Vue.options 和 extendOptions
  3. undefined "extends"extends配置項合并先于mixins,此時合并的是 Vue.options 和extends配置,因此toVal是undefined
  4. extends mixins完成了extends合并,接著就是mixins,此時 Vue.options 上已經包含了extends的配置項,因此 toVal 是extends,fromVal就是mixins。最終合并后的值:extends&mixins
  5. extends&mixins newVue完成了extends和mixins后,最終合并vm.constructor和實例的options
  6. extends&mixins&newVue最終合并后的 customOption 的選項值

devtools

離線下載chrome 擴展地址(不需要梯子):https://www.crx4chrome.com/crx/11903/

把下載的文件拖到擴展程序頁面即可完成安裝。

errorHandler

Vue 涉及到執行用戶配置的地方都放在 try catch 中,因此即使你 throw 拋出錯誤,整個實例也不會掛。

Vue.config.errorHandler = function (err, vm, info) {  console.log(arguments)}new Vue({  created: function () {    throw "error msg"  }})// ["error msg", Vue$3, "created hook"]

ignoredElements

首先要理解忽略的到底是什么?是元素本身還是包括元素里的內容(就像v-pre一樣),首先要知道這個配置的背景,官網舉了Web Components APIs(以下簡稱WCA)的例子,WCA和Vue.component一樣,也可以自定義元素,不過這個目前還是個草案。那么對于Vue來講,元素就可以分為:HTML原生元素,Vue自定義元素,WCA自定義元素。那么對于一個元素,Vue的判斷順序:原生 > Vue自定義 > ignoredElements > 無法識別,對于無法識別的Vue會假定你可能把Vue自己定義元素拼錯了,因此會發出Unknown custom element的警告。另外:

  1. Vue定義和HTML標簽同名的元素是無效的,比如定義Vue.compoent('header',{})
  2. ignoredElements包含Vue定義的元素是無效的
  3. WCA自定義元素可以被構建虛擬dom

performance(2.2.0+)

只能在開發版上使用。caniuse上查詢 performance 可知主流瀏覽器都已經支持,這個可以用于分析Vue組件在不同階段中花費的時間,進而知道哪里可以優化。查看源碼,發現在以下階段加上了performance.measure。

  1. performance.measure((組件名+ " render"), startTag, endTag);
  2. performance.measure((組件名+ " patch"), startTag, endTag);
  3. performance.measure((組件名 + " init"), startTag, endTag);
  4. performance.measure(((組件名 + " compile"), 'compile', 'compile end');

比如在谷歌瀏覽器中查看自定義組件Vue.component('my-component')的各個階段花費的時間:

在 IE11 中查看

productionTip(2.2.0+)

對于開發版本,會默認向控制臺打?。?/p>

設置為false就不再顯示。

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
黑人巨大精品欧美一区二区三区| 性色av一区二区咪爱| 亚洲精品一区二区网址| 日韩中文字幕网站| 91久久夜色精品国产网站| 欧美另类老肥妇| 亚洲热线99精品视频| 亚洲 日韩 国产第一| 狠狠操狠狠色综合网| 亚洲乱码一区二区| 中文字幕亚洲综合久久筱田步美| 欧美激情小视频| 亚洲一区999| 国产精品扒开腿爽爽爽视频| 国产精品美腿一区在线看| 国产精品女主播视频| 久久不射热爱视频精品| 日韩国产高清视频在线| 欧美在线视频在线播放完整版免费观看| 大胆人体色综合| 久久久亚洲影院| 国产成人在线一区二区| 91免费在线视频| 久久影视免费观看| 国产91精品久久久久| 久久久久久久久久久国产| 国产精品激情自拍| 欧美黑人一区二区三区| 久久综合久久八八| 国产精品成人国产乱一区| 91免费精品视频| 国产91精品黑色丝袜高跟鞋| 性欧美暴力猛交69hd| 国产精品99久久99久久久二8| 伊人久久久久久久久久久久久| 国产欧美在线播放| 国产福利精品在线| 91丨九色丨国产在线| 欧美成人精品三级在线观看| 欧美亚洲视频在线看网址| 中文字幕欧美精品日韩中文字幕| 久久久久久久久久国产精品| 亚洲欧美国产日韩天堂区| 亚洲欧美日韩精品久久亚洲区| 国产亚洲视频在线观看| 一本一道久久a久久精品逆3p| 亚洲天堂av网| 97精品伊人久久久大香线蕉| 欧美一区二区色| 久久久国产精品x99av| 理论片在线不卡免费观看| 亚洲国产精品va在看黑人| 欧美一级视频免费在线观看| 亚洲欧洲国产精品| 国产精品69久久| 国产精品视频久久| 亚洲综合第一页| 国产精品中文字幕在线观看| 欧美视频在线视频| 欧美视频专区一二在线观看| 国内精品久久久久久| 国色天香2019中文字幕在线观看| 国产精品一区二区久久| 欧美一级大片视频| 91国语精品自产拍在线观看性色| 伊人久久大香线蕉av一区二区| 日韩av在线影院| 国产精品自拍视频| 91久久精品日日躁夜夜躁国产| 91精品国产亚洲| 成人两性免费视频| 国产精品91久久久久久| 欧美激情中文字幕乱码免费| 国产一区二区久久精品| 啊v视频在线一区二区三区| 国产精品福利小视频| 日韩精品极品毛片系列视频| 欧美国产日韩二区| 国产久一一精品| 亚洲电影免费观看高清完整版在线观看| 亚洲黄色有码视频| 国产欧美一区二区三区四区| 亚洲国产高清自拍| 国产精品1区2区在线观看| 久久精品成人欧美大片古装| 中文字幕日韩av| 黑丝美女久久久| 在线精品高清中文字幕| 美女999久久久精品视频| 久久久人成影片一区二区三区观看| 国产精品中文久久久久久久| 欧美成年人在线观看| 欧美激情一区二区三区在线视频观看| 欧美日韩人人澡狠狠躁视频| 亚洲色图欧美制服丝袜另类第一页| 日韩在线观看免费| 欧美插天视频在线播放| 精品亚洲一区二区三区在线观看| 国语自产精品视频在线看一大j8| 亚洲女人天堂成人av在线| 久久最新资源网| 韩国美女主播一区| 最新国产精品亚洲| 日韩免费av一区二区| 成人免费视频网址| 亚洲激情视频网| 国产亚洲欧洲高清一区| 亚洲美女av电影| 久久99国产精品自在自在app| 亚洲精品av在线播放| 日韩欧美亚洲综合| 国产91ⅴ在线精品免费观看| 深夜福利国产精品| 精品国产一区二区三区在线观看| 欧美一级高清免费| 视频一区视频二区国产精品| 大桥未久av一区二区三区| 久久6免费高清热精品| 亚洲第一区中文字幕| 国产精品人成电影在线观看| 亚洲3p在线观看| 精品女同一区二区三区在线播放| 欧美日韩在线视频一区二区| 国产精品国产三级国产专播精品人| 视频在线观看一区二区| 久久综合国产精品台湾中文娱乐网| 蜜月aⅴ免费一区二区三区| 国产精品视频久久| 欧美极品第一页| yw.139尤物在线精品视频| 精品欧美一区二区三区| 国产亚洲欧美另类中文| 国产精品久久久久久网站| 欧美另类极品videosbestfree| 91牛牛免费视频| 一区二区三区美女xx视频| 亚洲午夜未删减在线观看| 久久这里有精品| 欧美日韩国产激情| 国产剧情日韩欧美| 51视频国产精品一区二区| 欧美激情xxxx性bbbb| 成人黄色中文字幕| 国产日韩精品在线播放| 欧美一级bbbbb性bbbb喷潮片| 中文字幕日韩精品在线观看| 亚洲一区二区三区xxx视频| 国产成人亚洲综合91| 精品久久久久久亚洲国产300| 亚洲一区美女视频在线观看免费| 91中文字幕在线| 亚洲激情第一页| 8x海外华人永久免费日韩内陆视频| 日韩欧美亚洲综合| 成人国产在线激情| 国产精品久久久久久婷婷天堂| 国产精品亚洲一区二区三区| 日韩av一区在线| 欧美日韩999| 一区二区在线视频播放| 欧美人与性动交a欧美精品| 日韩av毛片网| 日韩中文字幕在线视频| 国产日韩欧美日韩|