Javascript 无法使用输入更新v模型
我在答案中生成如下对象:Javascript 无法使用输入更新v模型,javascript,vue.js,vuejs2,Javascript,Vue.js,Vuejs2,我在答案中生成如下对象: …当我填写输入时,将提供以下输出: Answers: object { "19":"Hello", "20":"Test", "22":"04718810200", "26":"Belgium" } 当用户返回页面时,我希望他们看到自己的答案。我在我的axios通话中这样收集它们: axios.get('/bilan/'+this.$route.params.id)。然后(响应=>{ this.questions=response.data.data th
…当我填写输入时,将提供以下输出:
Answers: object
{
"19":"Hello",
"20":"Test",
"22":"04718810200",
"26":"Belgium"
}
当用户返回页面时,我希望他们看到自己的答案。我在我的axios
通话中这样收集它们:
axios.get('/bilan/'+this.$route.params.id)。然后(响应=>{
this.questions=response.data.data
this.questions.questions.forEach(问题=>{
如果(问题.答案){
this.answers[question.id]=question.answer.answer
}
})
})
它实现了我的对象答案,并且我的输入正确地填充了保存的答案,但不幸的是,它没有预期的行为。当我想修改输入时,它不起作用。没有东西能填满
为什么?正如@skirlte所说,有 由于JavaScript的限制,Vue无法检测到以下内容 对数组的更改: 当您直接使用索引设置项目时,例如。
vm.items[indexOfItem]=newValue
。当您修改
数组,例如vm.items.length=newLength
。
因此,请更改这一行代码:
this.answers[question.id]=question.answer.answer
到
this.$set(this.answers,question.id,question.answer.answer)
问题在代码中定义在哪里?是什么定义的?您能否再显示一些代码以及从服务器获取的内容?请不要完全遵循,但这一点。回答[question.id]=…
让我想到了属性添加的反应性警告: