当用户在菜单/模式区域之外单击时,我正在尝试实现一些功能以关闭所有菜单/模式。
this.closeMenu()
被正确调用,但是出现一个错误,提示this.closeMenu is not a function
。是什么原因呢?
methods: Object.assign({},
{
closeMenu(){
console.log("close menu")
}
}
)
mounted(){
$(document).on('click', function(event) {
if (!$(event.target).closest('.menu').length){
// close all menus
this.closeMenu()
}
});
}
答案 0 :(得分:1)
this
关键字不是Vue
实例。您可以通过分配var self = this
mounted(){
var self = this;
$(document).on('click', function(event) {
if (!$(event.target).closest('.menu').length){
// close all menus
self.closeMenu()
}
});
}