如何将custum属性添加到Angular 8中加载的js文件中

时间:2019-10-23 13:25:41

标签: angular angular8

我正在练习Angular,并尝试将现有的Web应用程序转换为Angular。我在HTML页面中有一些代码,例如

<script src="js/rocket-loader.min.js" data-cf-settings="e61ee320c7ea21acda18972e-|49" defer=""></script>

我在“脚本”:[“ src / assets / js / rocket-loader.min.js”] 中添加了 rocket-loader.min.js .json和正在加载,但是实际上页面由于data-cf-settings="e61ee320c7ea21acda18972e-|49" defer=""属性不可用而中断。我找不到任何解决方案。

我尝试过这种方式来添加脚本,但是无法构建。

          {
            "input": "src/assets/js/rocket-loader.min.js",
            "data-cf-settings": "e61ee320c7ea21acda18972e-|49",
            "defer":""
          }

1 个答案:

答案 0 :(得分:0)

在angular.json文件中,脚本是元素数组

"scripts": [
          "src/assets/.../.../....min.js",
          "src/assets/vendor/.../..-stylist.min.js",
          "node_modules/ace-builds/src-min/ace.js",
          "node_modules/ace-builds/src-min/..-....js",
          "node_modules/ace-builds/..-../....js"
        ]

OR

  ngAfterViewInit() {
    const s = document.createElement('script');
    s.type = 'text/javascript';
    s.setAttribute('data-attr', 'some value');
    s.src = 'http://somedomain.com/somescript';
    const body = document.getElementsByTagName('body')[0];
    body.appendChild(s);
}

如果要添加多个属性

.setAttribute('data', "icon: '.gif', url: '.html', target: 'page', output: '1'");

或者您可以重复此行代码

 s.setAttribute('name', 'value');