我刚开始使用 VueJS。我使用 Quasar 框架,其输入组件提供错误状态
<q-field :error="error" error-label="Oh buggers! You made a boo boo.">
<q-input v-model="text" float-label="Colored with Error" color="amber" />
</q-field>
我使用Validate检查表单中的多个输入,并且我想error-label
将错误文本的上下文化和本地化版本作为值返回。
使用 Blaze,我会使用带参数的助手,例如error-label="{{getError 'email'}}"
,看起来像这样(未经测试的代码):
getError(input) {
let firstError = ""
_.each(this.$v[input], function(validator) {
if (!validator) { // eg. validator = 'required'
firstError = i18n.__('input_error' + validator, {
input
}) // eg. firstError = 'The email field is required'
break
}
})
return firstError
},
我不确定在 VueJS 中执行此操作的正确方法。我注意到 v-bind 指令可以接受参数,但我不知道如何(文档在没有示例的情况下提到它)也不知道它是否是正确的方法。