【问题标题】:how to put script to angular component如何将脚本放入角度组件
【发布时间】:2017-10-31 18:38:20
【问题描述】:

我有一些关于 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>

谁知道如何解决?

【问题讨论】:

    标签: javascript html angularjs angular-cli


    【解决方案1】:

    首先,通过将第三方脚本添加到.angular-cli.json 中的apps[0].scripts 属性来加载第三方脚本,如Angular CLI doc 中所述。

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

    【讨论】:

    • @tatamingi 请点击左侧柜台下方的灰色复选标记将答案标记为已接受
    【解决方案2】:

    我认为您不应该在您的 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>
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-06-01
      • 2013-09-17
      • 1970-01-01
      • 1970-01-01
      • 2023-03-14
      • 2017-10-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多