前言
Vue.js是當下很火的一個JavaScript MVVM庫,它是以數(shù)據(jù)驅(qū)動和組件化的思想構(gòu)建的。相比于Angular.js,Vue.js提供了更加簡潔、更易于理解的API,使得我們能夠快速地上手并使用Vue.js。最近終于有時間空下來,所以想著把在使用vue過程遇到的一些問題疑惑總結(jié)處理,方便自己或者有需要的朋友們參考,下面話不多說了,來看看詳細的介紹吧。
一、計算緩存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>
結(jié)論:
所以如果你的計算屬性很復(fù)雜,就可以考慮使用計算屬性,利用它的緩存可以保持很好的性能.
二、v-if和v-show區(qū)別
v-if: 如果初始渲染條件為false,那什么都不做,第一次為true時候,會進行局部編譯,這個編譯會緩存起來.當條件再為false會銷毀事件監(jiān)聽器和子組件.
v-show:始終存在dom里面,也就是說始終被編譯了.之前按照display屬性來切換.
三、重塑數(shù)組的概念
就是說有些數(shù)組方法調(diào)用后會改變原數(shù)組―就是變異方法
調(diào)用后不會改變原數(shù)組就是非變異方法
Vue不可以做的事(關(guān)于數(shù)組重塑)
針對上述兩種提供我們可以使用
Vue.set()splice()
四、顯示數(shù)組的過濾與排序
通過返回一個過濾或者排序的數(shù)組的計算屬性
//html<ul> <li v-for='n in soets'>{{ n }}</li></ul>//jscomputed : { soets : function(){ return this.number.filter(function(num){ return num > 2; }) }}通過methods來實現(xiàn):
//html <ul> <li v-for='n in sort()'>{{ n }}</li></ul>//jsmethods : { sort : function(){ return this.number.filter(function(num){ return num >2 }); } },總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。
新聞熱點
疑難解答