• angularjs 1 如何在ng-route的模板中使用script标签


      如果你在angularjs 的路由模板里使用<script>标签的话,你会发现标签不起作用。这是因为angular为了安全起见而禁止了模板执行script。如果一定要在路由模板里使用script标签该怎么办呢?比较方便的方法是使用自定义指令。

        var app = angular.module('vcsite', ['ngRoute']);
    
        app.directive('script', function() {
            return {
                restrict: 'E',
                scope: false,
                link: function(scope, elem, attr)
                {
                    if (attr.type==='text/javascript-lazy')
                    {
                        var s = document.createElement("script");
                        s.type = "text/javascript";
                        var src = elem.attr('src');
                        if(src!==undefined)
                        {
                            s.src = src;
                        }
                        else
                        {
                            var code = elem.text();
                            s.text = code;
                        }
                        document.head.appendChild(s);
                        elem.remove();
                    }
                }
            };
        });

    定义这个自定义指令后,在模版页使用<script  type='text/javascript-lazy'></script>即可执行脚本。

  • 相关阅读:
    POST和GET的区别
    Java设计模式6大原则
    JAVA23种工厂模式
    使用jsp实现用户登录请求
    MVC模式
    使用idea查询数据库内容
    mysql常见错误
    定义外键和建表原则
    CSS制作圆角边框
    2、JS的编写位置
  • 原文地址:https://www.cnblogs.com/axel10/p/9123796.html
Copyright © 2020-2023  润新知