举个栗子:
<a v-on:click="Delete(item.JD_WarehousePriceID)">删除</a>
<script>
var table1Vue = new Vue({
el: '#table1',
data: {
items: []
}, methods: {
Delete: function (id) {
if (confirm("确定删除,ID: " + id + " 的数据?") == true) {
if (id) {
$.ajax({
url: "/JD_ReturnFee/DELETE",
type: "post",
data: { "ID": id },
dataType: "json",
success: function (data) {
alert(data.message);
if (data.code == 200) {
table1Vue.Bind();//在methods里面调用函数
}
}
});
}
}
}, Bind: function () {
var index = 1;//页码
var size = 500;//每页条数
var Tag = $("#selTag").val();
var Project = $("#selProject").val();
$.ajax({
data: {
"Tag": Tag,
"Project": Project,
"pageIndex": index,
"pageSize": size,
},
url: "/JD_ReturnFee/DataTablePage",
dataType: "json",
success: function (request) {
table1Vue.items = request.data;
PagerMaker(request.total, request.allPage, pageIndex, size);
},
});
}
}, mounted: function () {
this.$options.methods.Bind();//看这里,在mounted里调用methods里的函数Bind
},
});
</script>
关键是这个:
this.$options.methods.Bind();
在其他地方调用mounted里的函数:
①把new出来的Vue,挂载给一个对象, 如: var table1Vue = new Vue ... , 挂载给 table1Vue
②在其他的 Vue里面调用函数,如: table1Vue.Bind();//在methods里面调用函数