Vue computed計算屬性

<body>

<script src="../libs/vue.js"></script>

<div id="app">

? ? <!--可讀性不強-->

? ? {{message.split("").reverse().join("")}}

? ? <br>

? ? <!--每次都需要計算-->

? ? {{reverseMessage()}}

? ? {{reverseMessage()}}

? ? <br>

? ? <!--響應(yīng)式依賴進行緩存-->

? ? {{reverseMsg}}

? ? {{reverseMsg}}

? ? <br>

? ? {{calculate}}

? ? {{getFullName}}

? ? {{getFullName = 'Alice Xiaosu'}}

</div>

<script>

? ? new Vue({

? ? ? ? el: '#app',

? ? ? ? data: {

? ? ? ? ? ? message: 'Hello Vue.js',

? ? ? ? ? ? array: [1, 3, 4, 6, 7, 10, 3, 5]

? ? ? ? },

? ? ? ? computed: {

? ? ? ? ? ? reverseMsg() {

? ? ? ? ? ? ? ? console.log('=====reverseMsg=====')

? ? ? ? ? ? ? ? return this.message.split('').reverse().join('')

? ? ? ? ? ? },

? ? ? ? ? ? calculate() {

? ? ? ? ? ? ? ? var list = this.array.filter((item) => {

? ? ? ? ? ? ? ? ? ? return item % 2 === 0

? ? ? ? ? ? ? ? })

? ? ? ? ? ? ? ? return list

? ? ? ? ? ? },

? ? ? ? ? ? getFullName: {

? ? ? ? ? ? ? ? //getter

? ? ? ? ? ? ? ? get() {

? ? ? ? ? ? ? ? ? ? return this.firstName + this.lastName;

? ? ? ? ? ? ? ? },

? ? ? ? ? ? ? ? //setter

? ? ? ? ? ? ? ? set(val) {

? ? ? ? ? ? ? ? ? ? //Alice Xiaosu

? ? ? ? ? ? ? ? ? ? //分割

? ? ? ? ? ? ? ? ? ? var value = val.split(' ')

? ? ? ? ? ? ? ? ? ? this.firstName = value[0];

? ? ? ? ? ? ? ? ? ? this.lastName = value[1];

? ? ? ? ? ? ? ? }

? ? ? ? ? ? }

? ? ? ? },

? ? ? ? methods: {

? ? ? ? ? ? /*方法寫在methods*/

? ? ? ? ? ? reverseMessage() {

? ? ? ? ? ? ? ? console.log("=====reverseMessage=====")

? ? ? ? ? ? ? ? //methods里拿data的數(shù)據(jù)

? ? ? ? ? ? ? ? /*

? ? ? ? ? ? ? ? * item 數(shù)組里的數(shù)據(jù)

? ? ? ? ? ? ? ? * index 索引

? ? ? ? ? ? ? ? * data 數(shù)據(jù)源

? ? ? ? ? ? ? ? * */

? ? ? ? ? ? ? ? // return 如果是true? 放到數(shù)組里, false? 從數(shù)組里移除

? ? ? ? ? ? ? ? const result = this.array.filter((item, index, data) => {

? ? ? ? ? ? ? ? ? ? console.log(item)

? ? ? ? ? ? ? ? ? ? console.log(index)

? ? ? ? ? ? ? ? ? ? console.log(data)

? ? ? ? ? ? ? ? ? ? return item >= 5

? ? ? ? ? ? ? ? })

? ? ? ? ? ? ? ? console.log('array', this.array)

? ? ? ? ? ? ? ? console.log('result', result)

? ? ? ? ? ? ? ? this.array.filter((item) =>

? ? ? ? ? ? ? ? ? ? item >= 5

? ? ? ? ? ? ? ? )

? ? ? ? ? ? ? ? return this.message.split('').reverse().join('')

? ? ? ? ? ? }

? ? ? ? },

? ? })

</script>

</body>

點擊偵聽器屬性

計算和方法的區(qū)別:

我們可以將同一函數(shù)定義為一個方法而不是一個計算屬性。兩種方式的最終結(jié)果確實是完全相同的。然而,不同的是計算屬性是基于它們的響應(yīng)式依賴進行緩存的。只在相關(guān)響應(yīng)式依賴發(fā)生改變時它們才會重新求值。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • ![Flask](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAW...
    極客學院Wiki閱讀 7,832評論 0 3
  • 不知不覺易趣客已經(jīng)在路上走了快一年了,感覺也該讓更多朋友認識知道易趣客,所以就謝了這篇簡介,已做創(chuàng)業(yè)記事。 易趣客...
    Physher閱讀 3,821評論 1 2
  • 雙胎妊娠有家族遺傳傾向,隨母系遺傳。有研究表明,如果孕婦本人是雙胎之一,她生雙胎的機率為1/58;若孕婦的父親或母...
    鄴水芙蓉hibiscus閱讀 3,914評論 0 2
  • 晴天,擁抱陽光,擁抱你。雨天,想念雨滴,想念你。 我可以喜歡你嗎可以啊 我還可以喜歡你嗎可以,可是你要知道我們不可...
    露薇霜凝閱讀 1,360評論 1 2

友情鏈接更多精彩內(nèi)容