【发布时间】:2019-12-08 05:04:18
【问题描述】:
我对 Vue 世界还很陌生,我很好奇我是否能够将 2 个计算属性应用于 :class。
我试过给每个道具一个空间:class="{{prop1}} {{prop2}}"
但是在重新加载时,内容将全部消失,因为似乎有问题。
有人知道这是否可能,或者这样做是否有好处?
背景故事
我正在创建一个输入,该输入将具有:class="{{showWhenButtonClicked}}" 和另一个在电子邮件无效时为其提供绿色输入或红色输入类名的输入。
如果有任何我遗漏的细节或更好的方法,请告诉我。谢谢!!
computed: {
validateEmail() {
var re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
return re.test(String(this.emailTo).toLowerCase())
},
showEmailInput() {
return this.sendEmail ? 'hide-show-option' : 'hide-option-input'
},
displayEmailError() {
return this.validateEmail() ? "valid-input" : "not-valid-input"
}
},
<input :class="{{showEmailInput}} {{displayEmailError}}" placeholder="Enter Email..." v-model="emailTo" @blur="{{validateEmail}}" type="email">
【问题讨论】:
-
这个answer 可能会有所帮助。
标签: css vue.js vuejs2 computed-properties