Vue
中结合项目中需要频繁运算的处理逻辑,封装了一个可以执行自动运算的实例选项,称为计算属性;可以监听参与运算的变量数据是否发生更新,如果没有发生改变直接返回上一次运算的结果;如果发生改变自动运算并返回结果
基本语法:
const app = new Vue({
el: "#app",
....
computed: {
计算属性名称: 函数() {
自动运算并返回结果
}
}
})
代码操作:
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<div id="app">
<p>商品单价: {{ price }}</p>
<p>购买数量:<input type="number" v-model="count"/></p>
<p>小计金额:{{ price * count }}元</p>
<p>计算属性:{{ subtotal }}元</p>
</div>
<script src="./vue.js"></script>
<script>
const app = new Vue({
el: "#app",
data: {
price: 699,
count: 1
},
computed: {
// 内部函数包含自己的作用域,包含自己的this关键词
// 如果修改为箭头函数,就会丢失this指向
subtotal: function () {
return this.price * this.count
}
}
})
</script>
</body>
</html>