【发布时间】:2021-03-20 07:55:32
【问题描述】:
一开始我有 3 个布尔值,如果用户更改了这 3 个值之一(例如 HTML 复选框),我想设置 changed = true。
data()
return {
boolean1:false, //may initally be true/false
boolean2:true, //may initally be true/false
boolean3:false, //may initally be true/false
changed: false //no changes to start with
};
},
如何在 Vue 中正确跟踪这 3 个值?我的冲动是使用观察者,但我现在多次读到计算属性是此类任务的更好选择。不幸的是,他们没有为这样一个简单的跟踪任务提供示例,那么计算属性会是什么样子呢?到目前为止,我有这个:
computed: {
comp_settings_change: function(){
// if booleans change, set to true, else stay at false.
return true
}
},
【问题讨论】:
-
你的冲动是对的,手表更好,因为你只想在事件触发时设置一个标志
-
真的取决于你想要做什么,如果你只是想检测布尔值是否从初始状态发生变化,那么计算会很简单,但你需要捕获初始状态,这样如果布尔值从 false 变为 true,则 changed 将为 true,然后如果该布尔值变回 false,则 changed 将返回 false。
标签: vue.js computed-properties