Javascript 为什么不渲染我的VUE数组元素,

Javascript 为什么不渲染我的VUE数组元素,,javascript,vue.js,Javascript,Vue.js,我可以从后端发送元素。但是文本无法显示。我不知道为什么。 这是我的html: <!-- <form action=""> --> <div class=" form-group"> <input v-model="wd" @keyup="keyup($event)" type=&

我可以从后端发送元素。但是文本无法显示。我不知道为什么。 这是我的html:

              <!-- <form action=""> -->
                <div class=" form-group">
                  <input v-model="wd" @keyup="keyup($event)"  type="text" class="form-control" />

                  <!-- <ul class="list-group"> -->
                   
                    <table>


                      <tr>
                        <th v-for="item in title"><div style="width:500px">{{item}}</div> </th>
                      </tr>
                      <tr v-for="item in arr" :key='item'>
                        <td>{{item.name}}</td>
                        <td>{{item.sort}}</td>
                        <td>{{item.company}}</td>
                      </tr>
                    </table>
                 
                </div>

我知道已获取数据。因为循环中的项目数完全正确。当我使用console.log(res.data.list)时,我可以从后端查看数据。但它们不能显示在我的页面中。 如果你能帮助我,我将非常感激。谢谢!
我认为问题在于您在回调中引用了
这个.arr
。当AJAX调用返回时,
的作用域是响应,而不是Vue对象

您可以通过在AJAX调用之前插入一个变量来克服这一问题,如下所示:

var vm = this;
axios.get(url, {
然后,在回调中,而不是
this.arr=res.data.list,请执行以下操作:

vm.arr = res.data.list;

我认为问题在于您在回调中引用了
this.arr
。当AJAX调用返回时,
的作用域是响应,而不是Vue对象

您可以通过在AJAX调用之前插入一个变量来克服这一问题,如下所示:

var vm = this;
axios.get(url, {
然后,在回调中,而不是
this.arr=res.data.list,请执行以下操作:

vm.arr = res.data.list;

字段
数据
必须是被动的

data(){
返回{
wd:“”,
arr:[],
列表索引:-1,
标题:['name','sort','company'],
}
}

字段
数据
必须是反应性的

data(){
返回{
wd:“”,
arr:[],
列表索引:-1,
标题:['name','sort','company'],
}
}

项目的值是多少?很可能,
item.name
item.sort
item.company
返回
undefined
,因此会呈现行,但不会插入内部文本。但我的浏览器中没有此类错误。我不确定是否错误。undefined不一定会引发错误。尝试将项的值记录到控制台。您看到了什么?项目的值是多少?很可能,
item.name
item.sort
item.company
返回
undefined
,因此会呈现行,但不会插入内部文本。但我的浏览器中没有此类错误。我不确定是否错误。undefined不一定会引发错误。尝试将项的值记录到控制台。你看到了什么?
方法:{keyup(event){var am=this;var url=“/search/search/”axios.get(url,{params:{q:am.wd,})。然后(res=>{am.arr=res.data.list;
是这样吗?是我做的。它不起作用。这是不正确的。OP已经在使用箭头函数,所以保留了它。
方法:{keyup(event){var am=this;var url=“/search/search/”axios.get(url,{params:{q:am.wd,}})。然后(res=>{am.arr=res.data.list;
是这样吗?我这样做了。但它不起作用。这是不正确的。OP已经在使用箭头函数,因此保留了这一点。对于顶级Vue应用程序实例,数据不必是返回对象的函数:对于顶级Vue应用程序实例,数据不必是返回对象的函数: