如何在角度模板中包含外部javascript?

问题描述 投票:1回答:2

我有一个名为index.html的页面,该页面具有依赖于外部javascript的形式:

<script src="https://js.braintreegateway.com/v2/braintree.js"></script>
<script>
var clientToken = removed
braintree.setup(
          // Replace this with a client token from your server
          clientToken,
          "dropin", {
            container: "payment-form",
            form: "checkout",
          });
</script>

在将此页面与angular集成之前,我进行了测试以查看它是否可以正常工作,但是现在我已将该页面作为一个angular状态集成:$ stateProvider

 .state('billing', {
        url: '/billing',
        views: {
            'main': {
                controller: 'BillingController as billingCtrl',
                templateUrl: '/billing/index.html'
            }
        }
    });

当路由到所述页面时,我收到这些错误:

enter image description here

我想避免依赖诸如Braintree-Angular之类的第三方库。在我看来,角度模板无法识别标签,因为它们用于将控制器绑定到html。

javascript angularjs braintree
2个回答
0
投票

[在构建过程中生成了一个index.html,其中包括所有资产,包括js / controller文件。包含外部js文件的答案只是将我的脚本标签插入包含所有依赖项的index.html文件中。


0
投票

包含js文件的最佳方法是将其路径添加到Angular.js中的脚本键(字符串数组):

  1. [在资产文件夹内创建一个名为脚本的文件夹(为了获得更好的结构)
  2. 将脚本文件添加到此文件夹中
  3. 打开在角度项目的根目录中存在的angular.json文件
  4. 将文件的路径添加到脚本键

{
  "projects": {
    "frontend": {
      "architect": 
            "scripts": ["src/assets/scripts/myScriptsFile.js,]
          },
          ....
}
© www.soinside.com 2019 - 2024. All rights reserved.