如何将脚本放到角度组件

时间:2017-10-31 18:38:20

标签: javascript html angularjs angular-cli

我在Angular CLI上有一些项目。所以我需要将一些脚本放到组件中,但似乎它们不在那里

我在组件中的代码:

    <script src="//vk.com/js/api/openapi.js" type="text/javascript"></script>
<div id="login_button" ></div>
<script language="javascript ">
    VK.init({
      apiId: 6241489
    });
    /*function authInfo(response) {
      if (response.session) {
        alert('user: '+response.session.mid);
        } else {
        alert('not auth');
        }
    }
    VK.Auth.getLoginStatus(authInfo);*/
    VK.UI.button('login_button');
    </script>

谁知道如何修复它?

2 个答案:

答案 0 :(得分:0)

我不相信您应该在component.html文件中创建脚本标记。

如果您想触发假定的功能,请尝试此操作。

.ts文件:

authInfo() {
    // Where does response params come from?
    if (response.session) {
        alert('user: '+response.session.mid);
    } else {
        alert('not auth');
    }
}

.html模板:

<button (click)="authInfo()"></button>

请更详细地回复此答案,以便我可以进一步为您提供帮助:)

答案 1 :(得分:0)

首先,按照Angular CLI doc中的说明,将第三方脚本添加到apps[0].scripts中的.angular-cli.json媒体资源中,然后加载第三方脚本。

然后,通过定义VK并从组件的declare var VK: any;中调用VK.init(),使组件中的全局ngOnInit()对象可访问。我假设这将是AppComponent。