1. 程式人生 > >angularjs 1 如何在ng-route的模板中使用script標簽

angularjs 1 如何在ng-route的模板中使用script標簽

In pan angular else 你會 方法 route javascrip type

  如果你在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>即可執行腳本。

angularjs 1 如何在ng-route的模板中使用script標簽