Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当与ui路由器一起使用时,html页面中脚本标记内的脚本不会被执行_Javascript_Angularjs_Angularjs Directive_Angular Ui Router_Single Page Application - Fatal编程技术网

Javascript 当与ui路由器一起使用时,html页面中脚本标记内的脚本不会被执行

Javascript 当与ui路由器一起使用时,html页面中脚本标记内的脚本不会被执行,javascript,angularjs,angularjs-directive,angular-ui-router,single-page-application,Javascript,Angularjs,Angularjs Directive,Angular Ui Router,Single Page Application,我正在使用Angular和UI路由器构建一个单页web应用程序。在我的index.html页面中,我当前有以下三个元素,一个navbar指令、一个ui视图和一个footer指令,如下所示: <body> <div class="container-fluid"> <div class="row"> <cep-navbar></cep-navbar> </div>

我正在使用Angular和UI路由器构建一个单页web应用程序。在我的index.html页面中,我当前有以下三个元素,一个navbar指令、一个ui视图和一个footer指令,如下所示:

<body>
    <div class="container-fluid">
        <div class="row">
            <cep-navbar></cep-navbar>
        </div>

        <ui-view></ui-view>

        <div class="row">
            <cep-footer></cep-footer>
        </div>
    </div>

    <!-- All the bower script dependencies-->
    <!-- build:js js/lib.js -->
    <!-- bower:js -->
    <!-- endbower -->
    <!-- endbuild -->

    <!-- All the custom script dependencies-->
    <!-- build:js js/app.js -->
    <!-- inject:js -->
    <!-- endinject -->
    <!-- inject:template:js -->
    <!-- endinject -->
    <!-- endbuild -->

</body>
我通过单击navbar指令中的一个链接加载搜索状态,该指令在index.html页面的ui视图中注入search.html页面。但问题是script标记中的脚本永远不会执行。这是我的search.html页面

<script type="text/javascript">
      console.log('Test me');
      window.alert('Test me bro');
</script>
<h1>Hello World!!</h1>

log('testme');
window.alert('Test me bro');
你好,世界!!
为什么每次加载我的搜索状态时,search.html页面中的scripts标记内的脚本都不会执行


链接到plunk:

进一步研究后,我了解到angular使用的jquery精简版(jQLite)有一些DOM限制,阻止它在部分视图中执行脚本文件

解决方案


在index.html中引用Angular之前,请先引用jQuery脚本。这使得angular可以使用jQuery而不是jQlite。这样做就解决了我的问题。

您是否考虑过在SearchController中运行脚本,而不是将其内联到模板中<代码>函数SearchController($scope){alert(“hi”);…@Oliver Barnwell它将在控制器上工作。但我的要求是我想从局部视图引用第三方脚本文件。如中所示,包括外部JS文件?如果是这样,为什么不在页面首次加载时加载第三方脚本文件,而不是在用户浏览网站时动态加载脚本文件?
<script type="text/javascript">
      console.log('Test me');
      window.alert('Test me bro');
</script>
<h1>Hello World!!</h1>