Javascript Vue.js-更改元素';s类基于对数据属性的更改
我有一个Vue实例,它有两个数据属性:Javascript Vue.js-更改元素';s类基于对数据属性的更改,javascript,vue.js,Javascript,Vue.js,我有一个Vue实例,它有两个数据属性:error,它最初设置为false,和classArray,它是一个包含两个类的对象:btn和btn success btn设置为true并且 btn success设置为error,最初为false 我有两个input元素,它们都是按钮,其中第一个元素的类设置为classArray 单击另一个按钮时,将调用附加到我的Vue实例的方法,该方法应切换错误(因此,如果错误为真,则它将变为假,反之亦然) 我的期望是,由于classArray中的btn succe
error
,它最初设置为false
,和classArray
,它是一个包含两个类的对象:btn
和btn success
btn
设置为true
并且
btn success
设置为error
,最初为false
我有两个input
元素,它们都是按钮,其中第一个元素的类设置为classArray
单击另一个按钮时,将调用附加到我的Vue实例的方法,该方法应切换错误
(因此,如果错误
为真
,则它将变为假
,反之亦然)
我的期望是,由于classArray
中的btn success
设置为error
的值,因此在切换error
的值时,对应的类应该在我的第一个元素上处于活动状态
尽管error
的切换按预期工作,但在检查第一个元素时,似乎没有添加btn success
类
这里是否有我遗漏的东西,或者您不能像这样向元素添加类
另外,下面是我用来测试的代码:
var-app=新的Vue({
el:“#应用程序”,
数据:{
错误:false,
类数组:{
btn:没错,
“btn成功”:这是一个错误
}
},
方法:{
切换:函数(){
this.error=!this.error;
log(document.getElementById('input1');
}
}
});代码>
问题在于,当数据对象第一次创建时,btn success
的值仅设置为true一次,并且在创建之后不会更改,因此更改此错误将不会对classArray
产生任何影响。相反,您可以将classArray
设置为计算属性,每当更新this.error
时,它都会自动更新
var-app=新的Vue({
el:“#应用程序”,
计算:{
类数组(){
返回{
btn:没错,
“btn成功”:这是一个错误
}
}
},
数据:{
错误:false,
},
方法:{
切换:函数(){
this.error=!this.error;
log(document.getElementById('input1');
}
}
});代码>
问题在于,当数据对象第一次创建时,btn success
的值仅设置为true一次,并且在创建之后不会更改,因此更改此错误将不会对classArray
产生任何影响。相反,您可以将classArray
设置为计算属性,每当更新this.error
时,它都会自动更新
var-app=新的Vue({
el:“#应用程序”,
计算:{
类数组(){
返回{
btn:没错,
“btn成功”:这是一个错误
}
}
},
数据:{
错误:false,
},
方法:{
切换:函数(){
this.error=!this.error;
log(document.getElementById('input1');
}
}
});代码>
所以每次错误发生变化时都会重新计算类数组
,然后?是的。通过组合属性,Vue知道classArray
取决于error
的值,并将在错误发生变化时对其进行更新。感谢您提供的参考;这非常有帮助!另外,处理类的巧妙方法:)因此每次错误更改时都会重新评估类数组,然后?是的。通过组合属性,Vue知道classArray
取决于error
的值,并将在错误发生变化时对其进行更新。感谢您提供的参考;这非常有帮助!还有,处理类的巧妙方法:)