vue 的computed和watch在什么时候触发
computed是通过计算来产生一个结果,只有当这个结果需要在使用的时候,才会触发。watch:是在值发生变化的时候触发。例如:<template><view><view v-if="ckLogin">已经登录</view><view v-else>没有登录</view></view&
·
computed是通过计算来产生一个结果,只有当这个结果需要在使用的时候,才会触发。
watch:是在值发生变化的时候触发。
例如:
<template>
<view>
<view v-if="ckLogin||onLogin">
已经登录
</view>
<view v-else>
没有登录
</view>
</view>
</template
export default{
data(){
return{
onLogin:false
}
},
computed: {
ckLogin() {
const token = getToken();
if (token) {
this.onLogin=true
return true;
} else {
this.onLogin=false;
}
return this.onLogin
}
},
watch:{
onLogin(newVal){
console.log('islogin',newVal)
}
}
}
在这个示例中,在组件被加载的时候,就会去检测是否登录,并显示是否登录的信息。后期如果通过其他组件完成了登录,只通过ckLogin是无法实施检测登录状态的,只能通过改变onLogin的值来实现刷新。
更多推荐
已为社区贡献1条内容
所有评论(0)