computed实战用法

# computed实战用法

模板内的表达式非常便利,但是设计它们的初衷是用于简单运算的。在模板中放入太多的逻辑会让模板过重且难以维护。代码如下:

{{message.split('').reverse().join('')}}
data(){
      return {
         message:"abcdefg"
      }
}
1
2
3
4
5
6

使用computed计算属性,代码示例如下:

<div id="app" v-cloak>
      <div>翻转前:{{message}}</div>
      <div>翻转后:{{reverseMessage}}</div>
</div>
<script>
    	new Vue({
        		el:"#app",
        		data(){
            		return {
                			message:"abcdefg"
            		}
        		},
        		computed:{
			//这里使用了计算属性的getter属性
            			reverseMessage(){
                			return this.message.split('').reverse().join('')
            			}
        		}
    	})
</script>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21

一般情况下,我们只是使用了computed中的getter属性,默认只有 getter,因此不能直接修改计算属性,如果想要修改,可以使用setter属性。代码如下:

<input type="text" v-model="newName" />{{newName}}
computed:{
            	newName:{
                	//getter
                	get(){
                    		return this.name;
                	},
                	//setter
                	set(val){
//val的值为input输入框输入的值
                    		this.name=val;
                	}
            	}
        }

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
上次更新: 2022/05/30 12:17:36
最近更新
01
关于我
07-14
02
科学上网
11-15
03
OSS+CDN
09-23
更多文章>
极昼青春
买辣椒也用券