在Typescript

时间:2016-07-27 09:24:37

标签: javascript google-chrome-extension typescript angular

我正在尝试从Angular2 Typescript Chrome扩展程序获取当前显示的网址。 我已经阅读了this以获取网址,并this了解了如何在Ts中调用Js函数。 我还在tsconfig.json中将allowJs设置为true。

这是我的代码:

  ngOnInit(){
    declare var tabs = chrome.tabs.query({params...},function(tabs) {
      return tabs[0];
    });
    console.log(tabs());
  }

除非我删除日志,否则无法编译。

我也尝试过不使用function expression call

declare chrome.tabs.query({'active': true, 'windowId': chrome.windows.WINDOW_ID_CURRENT},
      function(tabs){}
    );

但它根本不起作用。 我想知道它是否可能与异步相关,因为代码在OnInit中。

有什么想法吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

感谢Nitzan的评论解决了这个问题。这是代码:

declare private getUrl(){
    chrome.tabs.query({}, function(tabs) {
       console.log(tabs[0]);
    });
  }

ngOnInit(){
  this.getUrl();
}