ts调js的简单的方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ts调js的简单的方法相关的知识,希望对你有一定的参考价值。

参考技术A 1.在index.html中,写上
<body>
<app-root></app-root>
<script>
function createClusterer()
alert("test");

</script>
</body>
2.然后在ts中,写(这个是事件调用,自己写吧,就一个button的事情)
onclick()
window 'createClusterer' ;

这样就可以调用js方法了。

在角度service.ts中使用谷歌的api.js

我正在尝试为我的Angular 2应用实施简单的Google身份验证。有没有办法在service.ts中的gapi中实现google的https://apis.google.com/js/api.js脚本?

当我尝试提供服务时出现编译错误。但是当我键入一些导致节点刷新的任意空格时,它会提供一个工作站点。

我看到在api.js脚本中存在var gapi,但有没有办法将该变量提取到ts中。

import {Injectable} from '@angular/core';
import * as jQuery from 'jquery';


@Injectable()
export class AuthService {
  testFunction() {
    jQuery.getScript("https://apis.google.com/js/api.js", handleClientLoad);
    var CLIENT_ID = 'SECRET';
    var DISCOVERY_DOCS = ["https://www.googleapis.com/discovery/v1/apis/youtube/v3/rest"];

    var SCOPES = 'https://www.googleapis.com/auth/youtube.readonly';
    var authorizeButton = document.getElementById('authorize-button');
    var signoutButton = document.getElementById('signout-button');
    var signedInMenu = document.getElementById('signed-in-menu');
    /**
     *  On load, called to load the auth2 library and API client library.
     */
    function handleClientLoad() {
      gapi.load('client:auth2', initClient);
    }

}...more code that also calls gapi...
答案

在类的顶部声明gapi变量

declare var gapi:any;

以上是关于ts调js的简单的方法的主要内容,如果未能解决你的问题,请参考以下文章

TS和JS互相调用

JS(TS)中数组常见的方法(未完待续)

后台调js方法

模板方法设计模式详解C/Java/JS/Go/Python/TS不同语言实现

TypeScript的一些安装转换热更新等配置方法

js前台与后台数据交互-前台调后台