Vue.js Vue模板无法呈现ajax结果

Vue.js Vue模板无法呈现ajax结果,vue.js,axios,render,Vue.js,Axios,Render,我正在使用vue和axios进行一个项目,根据控制台,axios似乎有响应,但不知道为什么结果无法呈现到html页面,以及如何调试vue的任何建议?谢谢 下面是代码片段 {{task.content} 您的问题是功能(响应)这将此的上下文设置为该功能的上下文。因此,当您稍后使用此.todo_task_列表时,您仍然处于该函数的上下文中,而不是vue实例的上下文中。因此,您在data(){…}中声明的todo\u任务列表永远不会更改 您可以使用箭头函数来保留此的父上下文 因此,如果您希望此

我正在使用vue和axios进行一个项目,根据控制台,axios似乎有响应,但不知道为什么结果无法呈现到html页面,以及如何调试vue的任何建议?谢谢 下面是代码片段

  • {{task.content}

您的问题是
功能(响应)
这将
的上下文设置为该功能的上下文。因此,当您稍后使用此.todo_task_列表时,您仍然处于该函数的上下文中,而不是vue实例的上下文中。因此,您在
data(){…}
中声明的
todo\u任务列表
永远不会更改

您可以使用箭头函数来保留此的父上下文

因此,如果您希望
此.todo_task_列表
指向vue实例,可以执行以下操作:

await axios
  .get('/todo/api/todotask/')
  .then( (response) => {                // <-- arrow-function!
    this.todo_task_list = response.data // Now "this" is the vue-instance.
    console.log(todo_task_list)
  })
  .catch(function (error) { 
    // Here you don't use "this." so it doesn't matter either way.
    console.log(error);
  });
}
等待axios
.get(“/todo/api/todotask/”)

。然后((响应)=>{//要调试vue,如果您还没有使用vue开发工具,我建议您使用vue开发工具。这里有一个安装它的链接。此外,我建议您在javaScript中使用camelCase而不是snake_case,因为这是惯例。它也更具可读性,并且可以防止出现类似
a_变量
而不是
a_变量
之类的错误>。关于上下文是个问题,您是对的。但是,他
不能使用箭头函数来获取Vue实例作为上下文。还有其他技术,如将
绑定到函数等。箭头函数是最简洁、最现代的方法。