Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.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
如何从vue.js中的方法添加到数组?_Vue.js - Fatal编程技术网

如何从vue.js中的方法添加到数组?

如何从vue.js中的方法添加到数组?,vue.js,Vue.js,我有一个奇怪的问题,我不明白 我有一个注册表,在任何输入上我都在执行blur上的方法 方法 watchVal:function(){ 如果(this.username==“”){ 此.errors['username'].push('username为空'); } } 数据: data:function(){ 返回{ 用户名:“”, 错误:{ “用户名”:[] } } } 当我在不写入任何值的情况下进行模糊时,除非我在任何字段中键入字母,否则不会向该.errors['username']

我有一个奇怪的问题,我不明白

我有一个注册表,在任何输入上我都在执行blur上的方法


方法

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是的,它在我写入任何输入之前不会更新。请参阅我的解决方案。我认为这会解决问题