精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

vue開發必須知道的九大秘法

開發
近年來,vue越來越火,使用它的人也越來越多。vue基本用法很容易上手,但是還有很多優化的寫法你就不一定知道了。本文列舉了一些vue常用的開發技巧。

[[345880]]

 require.context()
在實際開發中,絕大部分人都是以組件化的方式進行開發。隨之而來就有了許多的組件需要引入。比如以下場景:

  1. import outExperInfo from "@/components/userInfo/outExperInfo"
  2. import baseUserInfo from "@/components/userInfo/baseUserInfo"
  3. import technicalExperInfo from "@/components/userInfo/technicalExperInfo"
  4. import skillExperInfo from "@/components/userInfo/skillExperInfo"
  5.  
  6. components:{ 
  7.     outExperInfo, 
  8.     baseUserInfo, 
  9.     technicalExperInfo, 
  10.     skillExperInfo 

這樣寫并沒有錯,但是仔細觀察發現寫了很多重復的代碼,這個時候利用require.context()可以寫成:

  1. const path = require('path'
  2. const files = require.context('@/components/userInfo'false, /\.vue$/) 
  3. const userComponents = {} 
  4. files.keys().forEach(key => { 
  5.  const name = path.basename(key'.vue'
  6.  userComponents[name] = files(key).default || files(key
  7. }) 
  8. components:userComponents 

這樣不管需要引入多少組件,都可以使用這一個方法。

路由的按需加載
隨著項目功能模塊的增加,引入的文件數量劇增。如果不做任何處理,那么首屏加載會相當的緩慢,這個時候,路由按需加載就閃亮登場了。

  1. webpack< 2.4 時 
  2.  path:'/'
  3.  name:'home'
  4.  components:resolve=>require(['@/components/home'],resolve) 
  5.   
  6. webpack> 2.4 時 
  7.  path:'/'
  8.  name:'home'
  9.  components:()=>import('@/components/home'

import()方法是由es6提出的,動態加載返回一個Promise對象,then方法的參數是加載到的模塊。類似于Node.js的require方法,主要import()方法是異步加載的。

動態組件
場景:如果項目中有tab切換的需求,那么就會涉及到組件動態加載,一般寫法如下:

  1. <component v-bind:is="currentTab"></component> 

這樣寫也沒有錯,但是如果這樣寫的話,每次切換的時候,當前組件都會銷毀并且重新加載下一個組件。會消耗大量的性能,所以就起到了作用。

  1. <keep-alive> 
  2.  <component v-bind:is="currentTab"></component> 
  3. </keep-alive> 

有的小伙伴會說,這樣切換雖然不消耗性能了,但是切換效果沒有動畫效果了,別著急,這時可以利用內置的。

  1. <transition> 
  2. <keep-alive> 
  3.  <component v-bind:is="currentTab"></component> 
  4. </keep-alive> 
  5. </transition> 

components和vue.component
前者是局部注冊組件,用法如下:

  1. export default
  2.  components:{home} 

后者是全局注冊組件,主要針對一些全局使用的組件,用法如下:

  1. Vue.component('home',home) 

Vue.nextTick
Vue.nextTick()方法在下次DOM更新循環結束之后執行延遲回調,因此可以頁面更新加載完畢之后再執行回調函數。下面介紹幾個常用場景:

場景一

  1. <template> 
  2.     <div> 
  3.         <div ref = "ref"/> 
  4.     </div> 
  5. </template> 
  6. <script> 
  7. export default { 
  8.     created(){ 
  9.         console.log(this.$refs.ref) 
  10.         //undefined 
  11.     }) 
  12. </script> 

因為這個時候created階段dom并未完全渲染完成,所以獲取值為undefined,我們對其改造一下:

  1. <template> 
  2.     <div> 
  3.         <div ref = "ref"/> 
  4.     </div> 
  5. </template> 
  6. <script> 
  7. export default { 
  8.     created(){ 
  9.         Vue.nextTick(()=>{ 
  10.             console.log(this.$refs.ref) 
  11.         }) 
  12.         //<div></div> 
  13.          
  14.     }) 
  15. </script> 

這樣就可以獲取到dom了。

場景二

  1. <template> 
  2.     <div> 
  3.         <div v-if="visible" ref = "ref"/> 
  4.     </div> 
  5. </template> 
  6. <script> 
  7. export default { 
  8.     data() { 
  9.         return { 
  10.           visible: false 
  11.         }; 
  12.     }, 
  13.     showRef() { 
  14.         this.visible = true
  15.         console.log(this.$refs.ref); 
  16.         //undefined 
  17.     }, 
  18. </script> 

因為這個時候雖然visible的值為true,但是頁面dom并沒有更新完成,所以獲取值為undefined,我們對其改造一下:

  1. <template> 
  2.     <div> 
  3.         <div v-if="visible" ref = "ref"/> 
  4.     </div> 
  5. </template> 
  6. <script> 
  7. export default { 
  8.     data() { 
  9.         return { 
  10.           visible: false 
  11.         }; 
  12.     }, 
  13.     showRef() { 
  14.         this.visible = true
  15.         Vue.nextTick(()=>{ 
  16.             console.log(this.$refs.ref) 
  17.         }) 
  18.         //<div></div> 
  19.     }, 
  20. </script> 

這樣就可以獲取到dom了。

Vue.directive
場景:官方給我們提供了很多指令,但是我們如果想將文字變成指定的顏色定義成指令使用,這個時候就需要用到Vue.directive,示例如下:

  1. // 全局定義 
  2. Vue.directive("change-color",function(el,binding,vnode){ 
  3.  el.style["color"]= binding.value; 
  4. }) 
  5.   
  6. // 使用 
  7. <template> 
  8.     <div v-change-color>{{message}} 
  9.     </div> 
  10. </template> 
  11. <script> 
  12.  export default
  13.      data(){ 
  14.       return
  15.       color:'green' 
  16.       } 
  17.      } 
  18.  } 
  19. </script> 

Vue.set()
當在項目中直接設置數組的某一項的值,或者直接設置對象的某個屬性值,這個時候,你會發現頁面并沒有更新。這是因為Object.defineprototype()限制,監聽不到變化,具體的可以查看我的另一篇文章:

vue對象數組數據變化,頁面不渲染

事件修飾符

  • .stop:阻止冒泡
  • .prevent:阻止默認行為
  • .self:僅綁定元素自身觸發
  • .once: 2.1.4 新增,只觸發一次
  • passive: 2.3.0 新增,滾動事件的默認行為 (即滾動行為) 將會立即觸發,不能和.prevent 一起使用
  • .sync 修飾符

從 2.3.0 起vue重新引入了 .sync 修飾符,但是這次它只是作為一個編譯時的語法糖存在。它會被擴展為一個自動更新父組件屬性的 v-on 監聽器。示例代碼如下:

  1. <comp :foo.sync="bar"></comp> 

會被擴展為:

  1. <comp :foo="bar" @update:foo="val => bar = val"></comp> 

當子組件需要更新 foo 的值時,它需要顯式地觸發一個更新事件:

  1. this.$emit('update:foo', newValue) 

長列表性能優化(數據凍結)
眾所周知,vue會通過object.defineProperty對數據進行劫持,進而實現頁面實時相應數據的變化,然而我們有些時候,需要的僅僅就是純粹的展示數據,因為數據不會有任何改變,我們就不需要vue來劫持我們的數據。在數據量很大的情況下,這可以很明顯的減少加載時間。

那么如何實現禁止vue劫持我們的數據尼?可以通過object.freeze方法來凍結數據,凍結之后數據也就不能再修改了。示例如下:

  1. let longList = [ 
  2.     {name:'monkeysoft'}, 
  3.     ... 
  4. this.longList = Object.freeze(longList) 

 

責任編輯:姜華 來源: 猴哥說前端
相關推薦

2017-10-17 15:18:58

綜合布線網絡

2018-04-08 10:08:43

開發人員工具

2023-12-21 14:43:30

Python字典

2010-04-12 14:58:56

Meego開發

2021-01-21 22:07:15

Web開發人工智能

2021-01-15 12:30:07

Vue技巧前端

2017-04-17 21:33:01

前端開發javascript嚴格模式

2012-06-27 09:36:37

軟件開發軟件開發

2015-04-15 10:50:06

綜合布線

2021-07-29 08:13:05

高并發秒殺商品秒殺系統

2025-06-20 00:00:00

大模型AISpring

2020-07-09 07:34:40

開發Web工具

2017-09-25 16:22:04

App

2014-09-01 09:53:50

Android框架

2021-02-05 11:21:54

大數據大數據技術

2021-01-29 10:07:31

大數據大數據技術

2012-09-29 10:29:56

.Net內存分配繼承

2012-09-29 09:22:24

.NETGC內存分配

2017-12-07 15:28:36

2020-12-29 09:50:23

大數據大數據技術
點贊
收藏

51CTO技術棧公眾號

精品国产成人在线| 九九视频精品免费| 亚洲激情视频在线| 久久婷婷国产精品| 黄色大片在线看| 日本va欧美va精品发布| 精品国产一区二区三区四区在线观看 | 天堂午夜影视日韩欧美一区二区| 亚洲天堂精品在线| 国产女同无遮挡互慰高潮91| 国产免费拔擦拔擦8x高清在线人| 国产亚洲精品aa午夜观看| 国产欧美日韩精品在线观看 | 国产性生交xxxxx免费| 欧洲不卡av| 99国产精品一区| 国产精品一久久香蕉国产线看观看 | 好吊色在线视频| 亚洲精品小说| 亚洲乱码av中文一区二区| 欧美日韩精品区别| a级片在线免费观看| 国产精品三级视频| 精品国产免费一区二区三区| 97国产精品久久久| 鲁大师成人一区二区三区| 久久国产一区二区三区| 中文字幕国产专区| 成人在线视频你懂的| 欧美性受xxxx黑人xyx| 黄页网站大全在线观看| 免费av在线网站| 国产三区在线成人av| 成人一区二区三区四区| 亚洲性生活大片| 亚洲影音先锋| 国模叶桐国产精品一区| 粉嫩av性色av蜜臀av网站| 色爱av综合网| 欧美精品一区二区蜜臀亚洲| 天堂网在线免费观看| 都市激情综合| 天天综合天天综合色| 狠狠干视频网站| 日本美女在线中文版| 久久蜜臀中文字幕| 国产精品一区二区三区在线观| av网站在线观看免费| 美女视频免费一区| 国产精品日韩专区| 中文字幕+乱码+中文乱码91| 玖玖玖国产精品| 热re91久久精品国99热蜜臀| 国产成人亚洲精品自产在线| 亚洲高清电影| 久久久免费av| 国产精彩视频在线观看| 欧美日韩久久| 欧美黑人一级爽快片淫片高清| 2014亚洲天堂| 99久久婷婷国产综合精品电影√| 在线视频国产日韩| 亚洲av成人无码久久精品 | 欧美在线播放一区| 国产在线视频你懂得| 国产亚洲制服色| 四虎永久国产精品| 在线观看完整版免费| 国产精品久久二区二区| 91制片厂免费观看| 亚洲小说区图片| 亚洲电影在线免费观看| 老太脱裤子让老头玩xxxxx| 亚洲欧美一区二区三区| 色婷婷综合久色| 亚洲天堂2018av| crdy在线观看欧美| 日韩欧美国产综合| 亚洲精品乱码久久久久久不卡| 中文字幕亚洲影视| 最近2019中文字幕mv免费看| 中文字幕另类日韩欧美亚洲嫩草| 欧美激情成人在线| 欧美孕妇毛茸茸xxxx| 色老头在线视频| 久久99精品国产麻豆婷婷| 69174成人网| 好吊视频一二三区| 欧美高清一级片在线观看| 在线一区高清| 国产三级电影在线播放| 色综合天天狠狠| 超碰在线免费av| 91精品尤物| 亚洲人成网站777色婷婷| 欧日韩不卡视频| 欧美日韩一视频区二区| 日本亚洲欧洲色α| 国产视频在线免费观看| 成人18视频日本| 亚洲精品第一区二区三区| 伊人在我在线看导航| 日韩人在线观看| www激情五月| 久久成人高清| 欧美第一页在线| 91在线视频免费播放| 黄色精品一二区| 欧美日韩在线高清| 亚洲资源一区| 欧美性淫爽ww久久久久无| 欧美xxxx日本和非洲| 激情综合网五月| 久久久综合免费视频| 亚洲一级特黄毛片| 26uuu色噜噜精品一区| av影院在线播放| 另类一区二区三区| 国产视频丨精品|在线观看| 国产探花在线免费观看| 美女脱光内衣内裤视频久久网站| 久草一区二区| 永久免费网站在线| 欧美福利电影网| 在线观看国产精品一区| 日韩天堂av| 成人午夜电影在线播放| 国产网站在线免费观看| 欧美日韩中文字幕一区二区| 欧美做受喷浆在线观看| 亚洲午夜电影| 91中文精品字幕在线视频| 精品视频三区| 欧美视频免费在线| 老熟妇精品一区二区三区| 国模 一区 二区 三区| 91久久久久久久久久久久久| 国产一级在线观看| 欧美日韩国产限制| 亚洲高清无码久久| 在线观看的日韩av| 99理论电影网| a级在线观看| 欧美一区在线视频| 三级黄色录像视频| 狠狠色狠狠色综合| 丰满女人性猛交| 亚洲爽爆av| 久久影视电视剧免费网站清宫辞电视 | 国产精品久久久久三级| 亚洲免费看av| 奇米影视亚洲| 国产欧美日韩最新| 毛片在线看网站| 欧美精品亚洲二区| 在线观看亚洲网站| 国产一区二区导航在线播放| 免费看啪啪网站| 成人综合日日夜夜| 欧美精品午夜视频| 蜜桃av噜噜一区二区三区麻豆| 一区二区三区精品| 国产精品成人免费一区久久羞羞| 国产精品草草| 九九99久久| 惠美惠精品网| 在线播放国产精品| 在线观看毛片网站| 亚洲精品久久久久久国产精华液| 成年人性生活视频| 亚洲日本免费| 欧美精品尤物在线| 香蕉久久久久久| 毛片精品免费在线观看| 日日夜夜精品免费| 日韩欧美在线观看| 国产91在线播放九色| 国产aⅴ综合色| 日日摸日日碰夜夜爽无码| 亚洲精华一区二区三区| 国产精品丝袜高跟| 免费黄网站在线播放| 日韩美女视频在线| 国产又黄又猛又粗又爽| 中文在线一区二区| 麻豆免费在线观看视频| 奶水喷射视频一区| 亚洲一一在线| 超碰成人免费| 国产成人精品久久久| 成人日批视频| 亚洲精品自拍偷拍| 亚洲网站在线免费观看| 午夜av区久久| 国产极品视频在线观看| 丁香啪啪综合成人亚洲小说| 国产成人久久777777| 成人在线电影在线观看视频| 99re热精品| 欧美成人性网| 欧美日韩第一视频| www.黄在线观看| 精品久久久久一区二区国产| 亚洲精品久久久久久久蜜桃| 一区二区免费看| 人与嘼交av免费| 高潮精品一区videoshd| 性chinese极品按摩| 亚洲国产免费| 影音先锋成人资源网站| 激情婷婷综合| 精品亚洲一区二区三区四区五区高| 日本久久一区| 日韩av不卡电影| 蜜臀av在线播放| 最近2019中文字幕在线高清| 亚洲人在线观看视频| 日韩欧美在线123| 国产免费www| 五月激情六月综合| 五月天丁香激情| 国产精品不卡一区| 国产探花视频在线播放| 99国产精品久| 69久久精品无码一区二区| 日韩va欧美va亚洲va久久| 免费成人午夜视频| 狠狠综合久久av一区二区老牛| 正在播放精油久久| 欧美美女一区| 蜜桃999成人看片在线观看| 97品白浆高清久久久久久| 亚洲va久久久噜噜噜| 91精品国产经典在线观看| 日韩av三级在线观看| 国产中文在线播放| 欧美激情视频一区二区| www久久日com| 久久久黄色av| а天堂中文在线官网| 久久视频国产精品免费视频在线| av小片在线| 最近2019中文字幕一页二页| 1769在线观看| 中文字幕成人在线| jzzjzzjzz亚洲成熟少妇| 亚洲天堂av在线免费观看| 男人的天堂在线| 亚洲美女性视频| 视频一区二区三区国产 | 潘金莲一级淫片aaaaa| 国产精品一二三区| 国产在线观看免费播放| 国产成人免费视频| 日本精品一二三区| 99精品1区2区| 日本激情小视频| 国产嫩草影院久久久久| 1024手机在线观看你懂的| 欧美激情在线一区二区| 国产一区在线观看免费| 中文字幕一区av| 高h视频免费观看| 一区二区在线观看免费| 久久精品国产亚洲av高清色欲| 亚洲成人www| www亚洲视频| 欧美熟乱第一页| 国产乱淫片视频| 欧美成人福利视频| 天天干天天做天天操| 亚洲人成在线一二| 午夜不卡视频| 欧美久久精品午夜青青大伊人| 青草视频在线免费直播| 538国产精品视频一区二区| 日韩av首页| 成人激情视频小说免费下载| 97久久亚洲| 日韩电影免费观看高清完整| 久久久9色精品国产一区二区三区| 久久www视频| 亚洲一区二区免费看| 天天操天天爽天天射| 国产专区综合网| 无码人妻aⅴ一区二区三区| 中文字幕免费在线观看视频一区| 日本一级二级视频| 日韩欧美精品在线观看| 一女二男一黄一片| 亚洲精品久久久久久下一站| 成人动漫在线免费观看| 欧美国产精品人人做人人爱| 无码小电影在线观看网站免费| 91精品国产综合久久香蕉的用户体验 | √…a在线天堂一区| xxxxxx国产| 欧美日韩国产美| 天堂а在线中文在线无限看推荐| www.久久久久| 亚洲黄色免费看| 91精品黄色| 国产亚洲一区二区三区啪| 国产精品免费看久久久无码| 日韩精品一二区| 欧美一区二区免费在线观看| 国产精品第13页| 波多野结衣国产| 日韩欧美一区在线观看| yourporn在线观看视频| 午夜精品一区二区三区在线视| 欧美啪啪网站| 欧美动漫一区二区| 黄色在线一区| 国产一区二区在线免费播放| 不卡在线视频中文字幕| 91 在线视频| 欧美综合在线视频| 五月天久久久久久| 欧美日本高清视频| 黄色欧美视频| 茄子视频成人在线观看| 亚洲国产精品一区制服丝袜| 女同激情久久av久久| 国产欧美一区二区三区在线看蜜臀 | 欧美黄色一级大片| 亚洲国产美女久久久久| 天堂va在线| 91久久精品国产91久久性色| 欧美午夜精彩| 蜜臀视频一区二区三区| 91一区在线观看| 亚欧洲精品在线视频| 欧美不卡在线视频| 18+激情视频在线| 亚洲iv一区二区三区| 91精品综合久久久久久久久久久| 天堂社区在线视频| 国产午夜精品理论片a级大结局| www.国产色| 日韩av最新在线观看| hd国产人妖ts另类视频| 国产精品亚洲综合| 欧美三级小说| 香蕉视频免费网站| 一区二区三区免费看视频| 国产精品久久久午夜夜伦鲁鲁| 在线观看精品国产视频| 少妇精品视频一区二区免费看| 日本一区二区三区四区高清视频 | 99久久精品一区| 国产无码精品在线播放| 精品国产乱码久久| 6699嫩草久久久精品影院| 国产伦视频一区二区三区| 国产精品红桃| 97人妻精品一区二区三区免费| 午夜精品久久久久久| 午夜激情在线视频| 日韩av高清不卡| av亚洲在线观看| 麻豆三级在线观看| 亚洲欧洲精品一区二区三区| 91禁在线观看| 欧美国产亚洲视频| 粉嫩av一区二区| 日韩精品视频久久| 国产女人18毛片水真多成人如厕| 在线免费一级片| 欧美日本精品在线| 欧美偷窥清纯综合图区| 粉嫩虎白女毛片人体| 日韩一区在线播放| 国模私拍视频在线| 欧美专区中文字幕| 四季av一区二区三区免费观看| 99999精品| 五月天激情小说综合| 高h视频在线| 91久久精品国产91久久性色tv| 亚洲激情午夜| 精品成人无码一区二区三区| 日韩午夜三级在线| 成年男女免费视频网站不卡| 色视频一区二区三区| 国产精品一级二级三级| 日韩欧美大片在线观看| 国产性猛交xxxx免费看久久| 亚洲综合视频| 人人妻人人添人人爽欧美一区| 欧美国产一区在线| 亚洲第一大网站| 国产精品九九九| 欧美99在线视频观看| 一本色道久久综合亚洲精品图片| 欧美日韩国产不卡| 三级中文字幕在线观看| 国产精品久久成人免费观看| 99re视频精品| 99精品视频在线播放免费|