我想从 typescript 中的angular 2模块访问google api库。
怎么做。
当我尝试访问(gapi)时,我得到了未定义的信息。是否有任何NPM模块可用作我可以使用的angular 2中的 typescript 库,或者我必须使用js文件。

以下是模块代码和库引用:

 <script src="https://apis.google.com/js/client.js?onload=handleClientLoad"></script>


    @Component({

    selector: "main-app",
    template: "{{title}}",
    providers: [HTTP_PROVIDERS, AuthService]

})
export class AppComponent implements OnInit {
    public title: string = '';
    constructor(private _authService: AuthService) {
        var gapi: any;
        console.log(gapi); // undefined
    }
    ngOnInit() {

        this._authService.getAuthSettings().subscribe((set: AppSetting) => {
            this.title = set.Scopes;
        });
    }

};

最佳答案

您的代码中有:

    var gapi: any;
    console.log(gapi); // undefined
var gapi行在运行时创建一个新的本地变量。您不想创建局部变量。您要声明一个全局存在。创建一个globals.d.ts文件,并添加以下内容:
declare var gapi:any;

更多的

JavaScript到TypeScript的迁移指南:https://basarat.gitbooks.io/typescript/content/docs/types/migrating.html

09-30 22:14
查看更多