ngx-clipboard没有复制到剪贴板,而是使用了回调方法

时间:2018-11-12 17:02:58

标签: angular ngx-clipboard

我正在运行一项用于检索设备信息的服务,一旦检索到该信息,我想将其复制回剪贴板。我有以下代码:

callServiceToCopy() {
let stringData = '';
let thingName: string = this.route.snapshot.params['thingName'];
let curDevice = this.devicesService
                    .get(thingName)
                    .subscribe((data) => {
                      this.device = data;
                      stringData = JSON.stringify(data);
                      console.log(stringData);
                      this.copy(stringData);
                      console.log("Copy Complete");
  });
}

onCopyFailure() {
    alert('Failed to copy to clipboard user ');
}

copy(text) {
  console.log(text + ' sent to copy');
  this._clipboardService.copyFromContent(text);
}

如果在回调之外有__clipboardService,它可以将文本复制到剪贴板。但是,如果我在回调中拥有它,则它没有(因此没有设备数据)。我确实遵循了Plunker的信息来启动并运行它,并查看了以下问题以寻求指导,但是它确实显示了我的需求。

StackOverflow Article

1 个答案:

答案 0 :(得分:0)

请看一下this问题,因为我认为这可能会有所帮助。本质上,我认为您需要将this绑定到回调方法,并将其传递给subscribe