javascript - 如何在 Angular 模板中包含外部javascript?

标签 javascript angularjs braintree

我有一个名为 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 这样的第三方库。在我看来, Angular 模板无法识别标签,因为它们用于将 Controller 绑定(bind)到 html。

最佳答案

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

  1. 在 Assets 文件夹中创建一个名为“scripts”的文件夹(为了更好的结构)
  2. 将脚本文件添加到此文件夹中
  3. 打开 Angular 项目根目录中存在的 angular.json 文件
  4. 将文件路径添加到脚本键

{
  "projects": {
    "you-will-find-your-project-name-here": {
      "architect": 
            "scripts": ["src/assets/scripts/myScriptsFile.js,]
          },
          ....
}

关于javascript - 如何在 Angular 模板中包含外部javascript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34345797/

相关文章:

javascript - swift : get User Installation id to send notifications

javascript - 下拉菜单可以编辑吗?

javascript - 将字符串转换为比较运算符。可能还是不可能? JavaScript

javascript - 表单 php、html、js

javascript - 服务不会以 Angular 方式将数据返回到 Controller

node.js - 处理ExpressJS中混合的同步和异步错误的最佳方法

javascript - 集成 braintree 导致问题

django - 布伦特里付款表格不起作用 | Django

javascript - Angular 嵌套指令仅呈现第一个子项

AngularJS - 将 $resource.query 与 params 对象一起使用