作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我想从 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
关于angularjs - 如何在 Angular 2 Component 中访问全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36272279/
我是一名优秀的程序员,十分优秀!