Vue之不常注意的點

2022-08-23 02:45:16 字數 978 閱讀 3797

this.$nexttick()  && vue.nexttick()的作用

在某個動作有可能改變dom元素結構的時候,對dom一系列的js操作都要放進vue.nexttick()的**函式中

你在vue生命週期的created()鉤子函式進行的dom操作一定要放在vue.nexttick()的**函式中。原因是什麼呢,原因是在created()鉤子函式執行的時候dom 其實並未進行任何渲染,而此時進行dom操作無異於徒勞,所以此處一定要將dom操作的js**放進vue.nexttick()的**函式中。與之對應的就是mounted鉤子函式,因為該鉤子函式執行時所有的dom掛載已完成。使用時機:el 被新建立的 vm.$el 替換,並掛載到例項上去之後呼叫該鉤子函式,此時頁面並未全部渲染。

vue.component('example', }',

data: function ()

},methods: )

}}})

二. 對於移動端的觸控事件

對於原生的js,要禁止瀏覽器的預設行為,就是e.preventdefault();

對於vue,有@touchstart.prevent;不過對於類似移動端的字母篩選,還是會觸發到背景下的滾動,於是可以採用css屬性--touch-action:none;完全禁止掉瀏覽器的預設行為就可以了

三. 對於錨點的使用

對於懶載入,使用錨點是沒有任何作用的,所以對於需要使用錨點的元件,不能用webpack的懶載入

四. 對於watch屬性

直接對於修改陣列或者物件的某個屬性,並不會觸發watch,要使用vue的this.$set(obj, key, newvalue)來觸發watch時間

vue元件劃分注意點

如何實現元件化 基礎元件主要指那些本身不包含任何業務邏輯 可以被輕鬆復用的元件,例如 picker timepicker toast dialog actionsheet 等等.基礎元件的通訊基本就是往元件傳入 prop,並監聽元件 emit 的事件。業務元件主要指那些包含業務邏輯,包括一些與後端介...

Vue遇到的注意點總結 1

1.vue無法檢測陣列項的修改 通過索引更改陣列中某一項時不會觸發重新整理 this items 3 不會觸發更新解決方式 1.使用vue.set 方法 2.通過splice 方法的第三個引數修改內容 2.vue無法檢測陣列長度的修改 直接修改陣列length屬性不會觸發重新整理 this item...

vue 使用watch監聽注意點

1.1 watch 監聽不到 obejct物件的變化 在專案中,當我們需要監聽乙個物件的改變時,普通的watch方法無法監聽到物件內部屬性的改變,只有data中的資料才能夠監聽到變化,此時就需要deep屬性對物件進行深度監聽。解決方法 此時可以設定監聽物件的deep ture。來實現監聽到物件屬性的...