我正在使用vuejs2和laravel 我有这个vuejs2代码
var path = '/project/public/';
new Vue({
el:'#users',
data:{
message:'',
test: [1,2,3],
},
methods:{
searchData: _.debounce(function(){
if(this.message != '')
{
$.ajax({
type:'POST',
url: path+'usersearch',
data: {data:this.message},
success:function(data)
{
console.log(data[0]['id']);
this.test.push(4)
},
error:function()
{
console.log("error");
}
});
}
},1000)
}
})
我也有这个HTML代码
<tr>
<td v-for='test in test'>@{{test}}</td>
</tr>
在没有请求发送时工作 并在html 1 2 3中显示我,但当我有要求回来 这段代码只能正常工作
console.log(data[0]['id']);
但是这个
this.test.push(4)
发回给我这个错误
Uncaught TypeError: Cannot read property 'push' of undefined at Object.success
我如何向vuejs2数组中添加内容 谢谢
答案 0 :(得分:0)
在推送对象之前,需要将其初始化为空数组
this.test = [];
修改
使用箭头功能时,不会覆盖此属性,仍会引用组件实例。
success:(data) => {
console.log(data[0]['id']);
this.test.push(4)
}