如何存储异步回调函数的变量

时间:2018-04-25 13:32:07

标签: javascript angular typescript ecmascript-6

我正在开发一个chrome扩展程序,我正在尝试在插件内的textarea中的选项卡上输出所选文本。

获取所选文本的功能非常有效但我无法将值设置为插件内的textarea元素。

问题:如何正确存储该值,然后将其传递给带有数据绑定的textarea?

HTML:

selection[0]

TS:

{{1}}

{{1}}工作正常,所以我想我尝试存储数据的方式不正确,但我似乎无法找到将其更改为的内容。

1 个答案:

答案 0 :(得分:2)

在您当前的方法中,this并未引用您的组件。

更改回调以使用箭头功能来保持范围:

getSelectedText() {
   chrome.tabs.executeScript( {
     code: 'window.getSelection().toString();'
     }, (selection) => {
       this.selectedText = selection[0];
    });
}