这是我的vuejs组件:
<script>
export default {
props: ['columns', 'records', 'group', 'users'],
data: function () {
return {
new_record: true,
myrecords: this.records
}
},
methods: {
addRow: function () {
try {
console.log(this.myrecords);
this.myrecords.push({});
console.log(this.myrecords);
} catch (e) {
console.log(e);
}
},
saveRow: function () {
$.post("http://localhost/someurl", { somedata: somevalue })
.done(function (data) {
console.log(data);
this.addRow();
})
.fail(function (error) {
console.log(error);
alert("error");
});
...
...
错误: app.js:155 Uncaught TypeError:this.addRow不是函数
我理解为什么会发生这种情况,因为当前上下文中的this
是jquery对象,
但问题是如何调用我的vue组件的addRow方法?
答案 0 :(得分:3)
您需要在调用ajax之前添加let self = this
。然后,您可以拨打self.AddRow()