Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/409.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在Vuejs中,当条件满足时,如何更改按钮颜色?_Javascript_Vue.js - Fatal编程技术网

Javascript 在Vuejs中,当条件满足时,如何更改按钮颜色?

Javascript 在Vuejs中,当条件满足时,如何更改按钮颜色?,javascript,vue.js,Javascript,Vue.js,计算:{ 空的(){ 返回this.user.password==''| | this.user.confirmPassword==''; }, 相等(){ return!this.user.password&&!this.$v.user.password.valid==!this.user.confirmPassword&&!this.$v.user.confirmPassword.sameAsPassword }, 。无空{ 不透明度:1.5; 背景色:#ee1d24; } .空的{ 宽度:

计算:{
空的(){
返回this.user.password==''| | this.user.confirmPassword=='';
},
相等(){
return!this.user.password&&!this.$v.user.password.valid==!this.user.confirmPassword&&!this.$v.user.confirmPassword.sameAsPassword
},
。无空{
不透明度:1.5;
背景色:#ee1d24;
}
.空的{
宽度:160px;
高度:50px;
线高:50px;
文本对齐:居中;
字体大小:16px;
字号:600;
颜色:#fff;
背景色:#f68e91;
边界半径:10px;
边缘顶部:15px;
填充:0 20px;
光标:指针;
不透明度:0.5;
显示器:flex;
证明内容:中心;
对齐项目:居中;
大纲:无;
边界:无;
}

点击我

在VueJS中,可以使用对象设置类和样式

以以下为例:


使用对象语法修改类时,可以将属性值设置为布尔变量

如果布尔值为false,则不应用该类。如果布尔值为true,则应用该类

请注意如何将绑定类对象与不变的静态类字符串组合

也可以通过类似的方式直接修改样式:

<div v-bind:style="{ color: activeColor, fontSize: fontSize + 'px' }"></div>

这一次,您必须将字符串值传递给属性,而不是传递布尔值


连字符的属性名称可以替换为camel case或kebab case(后者需要引号).

这是否回答了您的问题?@tauzN,我之前提出过这个问题,因为我要问多个问题,所以关闭了这个问题,所以他们建议我单独提问。因此,我再次发布了这个问题,并提出了具体的问题。@tauzN术语非常有限,不是建议的程序更改方式Vue中的类和样式。您可以看到我的答案,这是一种更灵活的方法:)感谢您的回答。但问题是,在我的按钮中,我已禁用了停止的位置,直到用户在密码字段中输入一些字母数字字符为止。但在我的equal()它没有检查按钮中的:disabled。这就是为什么按钮颜色会改变,如果密码和确认密码(如果它不是字母数字也)。好的,我会同时尝试,但按钮只会更改颜色一次,如果它与按钮中的唯一禁用条件相匹配。谢谢:)您仍然没有修复它。这样我就可以运行沙盒,我会看一看并尝试它,因为我对这一概念还不熟悉。这是我尝试过的codesandbox链接,用于检查仅在匹配时更改颜色使用字母数字字符。但是有一些错误。。
<div v-bind:style="{ color: activeColor, fontSize: fontSize + 'px' }"></div>