Angular 2 this.generateTree不是函数

时间:2017-04-07 08:31:37

标签: angularjs angular

我的组件中有2个函数。 onElementClick绑定到HTML中的元素。所以每次点击那个元素,我都会得到:

  

this.showHalo不是函数

为什么会这样?

     .social {
    position: relative;
}
.divider {
    position: relative;
    border-top: 2px solid #fff;
    width: 100%;
   }

我甚至试过这个,但是它也是一样的。

showHalo(view, opt) {
  // Code
}

 onElementClick(view) {
 // Code
  function click() {
    this.showHalo(view, { animation: true });
  }
}

2 个答案:

答案 0 :(得分:0)

更正this指针。喜欢:

showHalo(view, opt) {
  // Code
}

 onElementClick(view) {
 // Code
var _this = this;
  function click() {
    _this.showHalo(view, { animation: true });
  }
}

答案 1 :(得分:0)

此对象在本地函数范围内不可用。您需要将其分配给本地范围变量并在单击函数中使用它。

  showHalo() {
  console.log('hihih')
  }

  onElementClick() {
    console.log('2323');
    var self = this;
    click();
    function click(){
      self.showHalo();
    }