您好,登錄后才能下訂單哦!
今天小編給大家分享一下Vue中的計算屬性computed怎么用的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
computed 是基于它的依賴緩存,只有在它的相關依賴發(fā)生改變時才會進行更新。官方文檔是這樣說的:對于任何包含響應式數(shù)據(jù)的復雜邏輯,你都應該使用計算屬性。?
拼接字符串、分數(shù)是否及格、message記錄一段文字,這里是用computed實現(xiàn)的
<div id="app">
<!-- 插值語法表達式直接進行拼接 -->
<!-- 1.拼接姓名 -->
<h3>{{fullname}}</h3>
<!-- 2.顯示分數(shù)及格或不及格 -->
<h3>{{scorelevel}}</h3>
<!-- 3.反轉單詞 -->
<!-- reverse針對于數(shù)組,先用split轉為數(shù)組,在用reverse -->
<h3>{{reversetext}}</h3>
</div>
<script src="../lib/vue.js"></script>
<script>
const app = Vue.createApp({
data() {
return {
// name
firstName: "kk",
lastName: "cc",
// score
score: 99,
// 文本中單詞反轉
message: "I love stydy Vue3",
};
},
computed: {
fullname() {
return this.firstName + " " + this.lastName;
},
scorelevel() {
return this.score >= 60 ? "及格" : "不及格";
},
reversetext() {
return this.message.split(" ").reverse().join(" ");
},
},
});
app.mount("#app");
當然我們用Mustache插值語法、methods也是可以完成的,但是對于復雜數(shù)據(jù)的處理,我們往往采用computed,寫法更清晰,且計算屬性是有緩存的
會基于它們的依賴關系進行緩存;
在數(shù)據(jù)不發(fā)生變化時,計算屬性是不需要重新計算的;
但是如果依賴的數(shù)據(jù)發(fā)生變化,在使用時,計算屬性依然會重新進行計算;
&tinsp;
所以這也是我們在復雜數(shù)據(jù)處理時更傾向于computed
在使用相同次數(shù)的fullName時,methods執(zhí)行三次,computed執(zhí)行一次,這正是由于computed計算屬性會被緩存
1.4.計算屬性computed的setter和getter
大多數(shù)情況下,計算屬性只需要一個getter方法,那么此時computed屬性屬性值為函數(shù)
如果想要設置計算屬性的值,我們可以給計算屬性設置一個setter方法
computed: {
// 語法糖
fullname() {
return this.firstname + " " + this.lastname;
},
// 完整寫法
fullname: {
get: function () {
return this.firstname + " " + this.lastname;
},
set: function (value) {
const names = value.split(" ");
this.firstname = names[0];
this.lastname = names[1];
},
},
以上就是“Vue中的計算屬性computed怎么用”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業(yè)資訊頻道。
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。