在jquery中调用angular2函数时获取错误

时间:2017-01-03 14:39:41

标签: jquery angular

当我在jQuery中调用函数时,我得到了错误

  

“Uncaught TypeError:this.getSelectedItem不是函数”,

有没有人知道怎么称这个函数没有错误? 谢谢你的帮助

getSelectedItem(selected: string) {
  this.currentValueSelectedItem = selected;
  this.selectedItem = selected;
  var foundItem = this.currentCollection.find(x => x.innerHTML === selected);
  this.fontSize = window.getComputedStyle(foundItem).getPropertyValue("font-size");
}

ngAfterViewInit() {
  $('#designedPage').load(function () {
    var iframe = $('#designedPage').contents();
    iframe.find("body").click(function (event: any) {            
      this.getSelectedItem(event.target.innerHTML); //here I get error
    });
  });
}

1 个答案:

答案 0 :(得分:0)

您必须使用lambda表示法来维护this上下文。除了在角度中使用这样的jQuery之外的想法是非常不满意的:

ngAfterViewInit() {
  $('#designedPage').load(() => {
    var iframe = $('#designedPage').contents();
    iframe.find("body").click((event: any) => {
       this.getSelectedItem(event.target.innerHTML); //here I get error
    });
  });
}