我正在开发一个chrome扩展名,我正在尝试在插件内的文本中心的标签上输出选定的文本。
获得所选文本的功能很好,但是我无法将值设置为插件内的文本元素。
问题:如何正确存储该值,以便能够将其传递给TextArea,并使用数据结合?
html:
<div>
<p>Here will appear the selected text :</p>
<textarea name="selectedText" id="selectedText" [(ngModel)]="selectedText"></textarea>
<button (click)="getSelectedText()">Get the selected text</button>
</div>
TS:
export class CaptureComponent {
selectedText = '';
getSelectedText() {
chrome.tabs.executeScript( {
code: 'window.getSelection().toString();'
}, function(selection) {
this.selectedText = selection[0];
});
}
}
selection[0]
工作正常,所以我想我尝试存储数据的方式是不正确的,但是我似乎找不到将其更改为。
在您当前的方法中,this
不参考您的组件。
更改回调以使用箭头功能来保持范围:
getSelectedText() {
chrome.tabs.executeScript( {
code: 'window.getSelection().toString();'
}, (selection) => {
this.selectedText = selection[0];
});
}