Vue的methods方法中调用另一个方法及this指向问题
1.问题概述1.在vue方法中调用vue的另一个方法如何调用this.$options.methods.方法名称();2.存在的问题被调用方法中的this指向的不再是vue实例,而是调用方法。2.解决方案类似于以下,onSearch调用了getTableData在调用时,只需要在onsearch方法中将vue实例赋值给that再将that作为参数传入getTabaleData中getTableDa
·
1.问题概述
1.在vue方法中调用vue的另一个方法如何调用
this.$options.methods.方法名称();
2.存在的问题
被调用方法中的this指向的不再是vue实例,而是调用方法。
2.解决方案
类似于以下,
onSearch调用了getTableData
在调用时,只需要在onsearch方法中
将vue实例赋值给that
再将that作为参数传入getTabaleData中
getTableData将that作为vue实例使用即可。
methods:{
onSearch() {
console.log(this.searchSelectValue)
const that = this
this.$options.methods.getTableData(that)
},
getTableData(that) {
that.loading = true
console.log(that.currentPage)
axios({
method: 'post',
url: 'api/room/search',
data: {
likeName: that.likeName,
searchSelectValue: that.searchSelectValue,
currentPage: that.currentPage,
pageSize: that.pageSize
}
}).then(res => {
that.tableData = res.data.records
that.total = res.data.total
that.pages = res.data.pages
that.loading = false
})
}
}
更多推荐
已为社区贡献1条内容
所有评论(0)