错误:没有功能(已安装)

时间:2018-08-02 01:48:08

标签: javascript vue.js

当用户在菜单/模式区域之外单击时,我正在尝试实现一些功能以关闭所有菜单/模式。

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()
    }
  });
}

1 个答案:

答案 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()
    }
  });
}