這篇文章主要為大家展示了“Vue開發過程中遇到的疑惑知識點有哪些”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“Vue開發過程中遇到的疑惑知識點有哪些”這篇文章吧。
一、計算緩存computed與Methods
html代碼:
<div id='app'>
<p>{{ msg }}</p>
<p>reverse {{ reverse2 }}</p>
</div>JS
var app = new Vue({
el : '#app'
data : {
msg : '初始值'
}
,
methods : {
reverse : function(){
this.msg = this.msg.split('').reverse().join('');
}
},
created : function(){
console.log('msg is creadted' + new Date() );
},
computed : {
reverse2 : function(){
return this.msg.split('').reverse().join('') + new Date();
}
}
});
計算屬性就可以看作普通屬性一樣來使用
更改html
<div id='app'>
<p>{{ msg }}</p>
<button v-on:click='reverse'>{{ new Date()}} </button>
</div>
結論:
相同點: 兩者完成的功能都是一樣的.
不同點: 計算屬性computed更依賴緩存,也就是說只要msg(你的數據)不發生變化,reverse2這個計算屬性就不會重新計算,還是會使用之前的.而Methods是你每一次調用就會重新進行計算,重新渲染.
所以如果你的計算屬性很復雜,就可以考慮使用計算屬性,利用它的緩存可以保持很好的性能.
二、v-if和v-show區別
v-if: 如果初始渲染條件為false,那什么都不做,第一次為true時候,會進行局部編譯,這個編譯會緩存起來.當條件再為false會銷毀事件監聽器和子組件.
v-show:始終存在dom里面,也就是說始終被編譯了.之前按照display屬性來切換.
三、重塑數組的概念
就是說有些數組方法調用后會改變原數組—就是變異方法
調用后不會改變原數組就是非變異方法
Vue不可以做的事(關于數組重塑)
直接通過設置一個項的索引值. vm.items[indexOfItem] = newValue
直接修改數組長度. vm.items.length = newLength
針對上述兩種提供我們可以使用
Vue.set() splice()
四、顯示數組的過濾與排序
通過返回一個過濾或者排序的數組的計算屬性
//html
<ul>
<li v-for='n in soets'>{{ n }}</li>
</ul>
//js
computed : {
soets : function(){
return this.number.filter(function(num){
return num > 2;
})
}
}通過methods來實現:
//html
<ul>
<li v-for='n in sort()'>{{ n }}</li>
</ul>
//js
methods : {
sort : function(){
return this.number.filter(function(num){
return num >2
});
}
},以上是“Vue開發過程中遇到的疑惑知識點有哪些”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。