如何从vue.js中的方法添加到数组?
我有一个奇怪的问题,我不明白 我有一个注册表,在任何输入上我都在执行blur上的方法如何从vue.js中的方法添加到数组?,vue.js,Vue.js,我有一个奇怪的问题,我不明白 我有一个注册表,在任何输入上我都在执行blur上的方法 方法 watchVal:function(){ 如果(this.username==“”){ 此.errors['username'].push('username为空'); } } 数据: data:function(){ 返回{ 用户名:“”, 错误:{ “用户名”:[] } } } 当我在不写入任何值的情况下进行模糊时,除非我在任何字段中键入字母,否则不会向该.errors['username']
方法
watchVal:function(){
如果(this.username==“”){
此.errors['username'].push('username为空');
}
}
数据:
data:function(){
返回{
用户名:“”,
错误:{
“用户名”:[]
}
}
}
当我在不写入任何值的情况下进行模糊时,除非我在任何字段中键入字母,否则不会向该.errors['username']添加任何内容
我还尝试在提交时进行验证,但发现了相同的问题,即除非我键入任何输入,否则不会向数组中添加错误
有人能解释一下我做错了什么吗?我面临着类似的问题。我是如何解决这个问题的 您的数据:
data: function(){
return {
username: "",
errors: {}
}
}
你的方法
watchVal (key) {
let errors = this.errors
if (this[key] === '') {
errors[key].push('Emai empty')
}
this.errors = errors
}
你的HTML
<input class='form-control' placeholder='Username' @blur="watchVal('username')" v-model="username">
<p>{{errors['username']}}</p>
{{errors['username']}
您必须在HTML模板中显示错误变量,然后才能解决此问题。您的源代码正在工作。如果看不到错误消息,请在完全模式下查看
newvue({
el:“应用程序”,
数据:函数(){
返回{
用户名:“”,
错误:{
用户名:[]
}
}
},
方法:{
watchVal:function(){
如果(this.username==“”){
此.errors['username'].push('username为空');
}
}
}
})
正文{
背景:#20262E;
填充:20px;
字体系列:Helvetica;
}
{{error}}
你试过chrome开发工具进行调试吗?@ShahadatHossain是的,我正在使用它进行调试。我的意思是,在模糊你的输入后,你看到错误了吗。用户名数据是否更新?@ShahadatHossain是的,它在我写入任何输入之前不会更新。请参阅我的解决方案。我认为这会解决问题