Vue实例—— 计算属性(computed)、 watch 状态监听和filter 过滤器
Vue实例—— 计算属性(computed)、 watch 状态监听和filter 过滤器
Vue实例配置对象
选项 | 说明 |
---|---|
data | Vue实例数据对象 |
methods | 定义Vue实例中的方法 |
components | 定义子组件 |
computed | 计算属性 |
filters | 过滤器 |
计算属性(computed)
格式:computed:{ 变量(){ 计算表达式} }
<p>总价格为:{{sum}}</p>
var app=new Vue({
el:"#app",
data:{
price:10,
num:0
},
//按钮事件自增,自减事件
menthods:{
add:function(){
this.num++;
},
end:function(){
this.num--;
},
},
computed:{
sum(){
return this.price*this.num
}
}
})
watch 状态监听(用来监听事件的变化)
注意:监听名要与被监听名相同,监听上一个数据,和新的数据。(应用场景:数据发生改变需要保存新数据或者需要查看以前的数据)
<!-- -->
<body>
<div id="app">
<input type="text" v-model="name"><br>
<input type="text" v-model="home">
</div>
<script>
var app = new Vue({
el: "#app",
data: {
name: "上海",
home:"北京"
},
watch: {
name(newvalue, oldvaule) {
console.log("新城市:" + newvalue) //新的值
console.log("旧的城市:" + oldvaule) //旧的值
},
home(newvalue,oldvaule){
console.log("新家:" + newvalue) //新的值
console.log("旧家:" + oldvaule) //旧的值
}
},
});
</script>
</body>
watch: {
//简写
name(newvalue, oldvaule) {
console.log("新城市:" + newvalue) //新的值
console.log("旧的城市:" + oldvaule) //旧的值
},
//全写
name:{
immediate:true, //是否初始化时执行
handler(newvalue,oldvalue){
console.log("新城市:" + newvalue) //新的值
console.log("旧的城市:" + oldvaule) //旧的值
}
}
}
filter 过滤器
filter 过滤器,(对数进行格式化,比如字符串首字母大写,日期格式化等据)在页面中直接操作数据,返回最终结果。
<body>
<div id="app">
{{mis | bag}}
</div>
<script>
var app = new Vue({
el: "#app",
data: {
mis: "hello world", //小写转大写
},
filters:{
bag(value){
return value?value.toUpperCase():""
}
}
});
</script>
</body>
本文来自博客园,作者:永恒之月TEL,转载请注明原文链接:https://www.cnblogs.com/akc4/p/16074423.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步