recherche

Maison  >  Questions et réponses  >  le corps du texte

angulaire.js - La directive include d'angularjs, la page incluse ne peut pas charger js

<p ng-include="'project_index.jsp'">

project_index.jsp :

<script type="text/javascript" ng-src='{{generateURL("/scripts/tab.js")}}'></script>

L'URL générée est correcte et accessible dans le navigateur, mais j'ai vu l'enregistrement de la demande et le js n'a pas été chargé. Par conséquent, le contenu de js ne peut pas être exécuté. Quel est le problème avec mon approche ? Merci pour la réponse~

phpcn_u1582phpcn_u15822774 Il y a quelques jours571

répondre à tous(1)je répondrai

  • 黄舟

    黄舟2017-05-15 16:52:36

    Trouvé sur la pile. Un test personnel est utile.

    (function (ng) {
    'use strict';
    var app = ng.module('ngLoadScript', []);
    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();
        }
      }
    };
    });
    }(angular));
    

    Écrivez le code ci-dessus dans un fichier js, puis injectez ce module ngLoadScript dans votre application actuelle, puis utilisez type="text/javascript-lazy" dans la balise <script>
    Ce module angulaire a été créé par @subudeepak(https://github.com/subudeepak) sur la base du code publié par @endorama (https://github.com/endorama)
    * (basé sur le code
    * posté par @olostan (https://github.com/olostan) )

    répondre
    0
  • Annulerrépondre