淺析Vue中method與computed的區(qū)別
在new Vue的配置參數中的computed和methods都可以處理大量的邏輯代碼,但是什么時候用哪個屬性,要好好區(qū)分一下才能做到正確的運用vue。
computed稱為計算屬性,顧名思義,計算就要返回一個計算的結果,所以,當我們要處理大量的邏輯,但是最后要取得最后的結果的時候可以用computed;
為了說明method與computed的區(qū)別,在此我想先來看看computed屬性在vue官網中的說法:模板內的表達式是非常便利的,但是它們實際上只用于簡單的運算。在模板中放入太多的邏輯會讓模板過重且難以維護。
我們來看一個例子:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="javascript/vue.min.js"></script>
</head>
<body>
<div id="app">
//直接在模板中綁定表達式
<p>{{message.split('').reverse().join('')}}</p>
//運用計算屬性
<p>message反轉之后的結果:{{reverseMessage}}</p>
</div>
<script>
var vm=new Vue({
el:"#app",
data:{
message:"hello"
},
computed:{
reverseMessage:function(){
return this.message.split('').reverse().join('');
}
}
})
</script>
</body>
</html>
在上面這種情況下,模板不再簡單和清晰。在意識到這是反向顯示 message 之前,你不得不再次確認第二遍。當你想要在模板中多次反向顯示 message 的時候,問題會變得更糟糕。這就是對于任何復雜邏輯,你都應當使用計算屬性的原因。下面我將運用method與computed進行比較:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="javascript/vue.min.js"></script>
</head>
<body>
<div id="app">
<p>{{message}}</p>
//直接在模板中綁定表達式
<p>{{message.split('').reverse().join('')}}</p>
//運用計算屬性
<p>{{reverseMessage}}</p>
//運用methods方式
<p>{{methodMessage()}}</p>
</div>
<script>
var vm=new Vue({
el:"#app",
data:{
message:"hello"
},
computed:{
reverseMessage:function(){
return this.message.split('').reverse().join('');
}
},
methods:{
methodMessage:function () {
return this.message.split('').reverse().join('');
}
}
})
</script>
</body>
</html>
我在將這二種方式進行了比較。返回的結果是一樣的,寫但在法上computed計算屬性的方式在用屬性時不用加(),而methods方式在使用時要像方法一樣去用,必須加().
兩種方式在緩存上也大有不同,利用computed計算屬性是將 reverseMessage與message綁定,只有當message發(fā)生變化時才會觸發(fā)reverseMessage,而methods方式是每次進入頁面都要執(zhí)行該方法,但是在利用實時信息時,比如顯示當前進入頁面的時間,必須用methods方式。
總結
以上所述是小編給大家介紹的Vue中method與computed的區(qū)別,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!
- Vue中的methods、computed計算屬性和watch監(jiān)聽屬性的使用和區(qū)別解析
- vue中的data,computed,methods,created,mounted用法及說明
- Vue中computed屬性和watch,methods的區(qū)別
- 關于Vue的 watch、computed和methods的區(qū)別匯總
- vue.js中methods watch和computed的區(qū)別示例詳解
- Vue.js計算機屬性computed和methods方法詳解
- Vue中computed、methods與watch的區(qū)別總結
- Vue中的methods、watch、computed的區(qū)別
- Vue中computed與methods的區(qū)別詳解
- 深入淺析Vue.js中 computed和methods不同機制
- vue中計算屬性(computed)、methods和watched之間的區(qū)別
- vue中計算屬性computed和普通屬性method的區(qū)別小結
相關文章
ant design vue 清空upload組件圖片緩存的問題
這篇文章主要介紹了ant design vue 清空upload組件圖片緩存的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-10-10
解決vue里a標簽值解析變量,跳轉頁面,前面加默認域名端口的問題
這篇文章主要介紹了解決vue里a標簽值解析變量,跳轉頁面,前面加默認域名端口的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-07-07
vue-cli3使用 DllPlugin 實現(xiàn)預編譯提升構建速度
這篇文章主要介紹了vue-cli3使用 DllPlugin 實現(xiàn)預編譯提升構建速度 ,需要的朋友可以參考下2019-04-04
vue3.0+vue-router+element-plus初實踐
這篇文章主要介紹了vue3.0+vue-router+element-plus初實踐,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-12-12

