0
我正在使用Angular和UI-Router構建單頁Web應用程序。在我的index.html頁面,我現在有這三個要素,一個導航欄指令,一個UI視圖和頁腳指令如下所示:其中包含導航欄指令當使用UI路由器時,html頁面中腳本標籤內部的腳本沒有執行
<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>
模塊定義了路由如下:
(function() {
'use strict';
angular.module('CEPAdmin.base.components')
.config(['$stateProvider', routeConfig]);
function routeConfig($stateProvider) {
$stateProvider.state('search', {
url: '/search',
templateUrl: 'src/app/pages/search/search.html',
controller: 'SearchController'
});
}
})();
我通過點擊navbar指令中的一個鏈接,在index.html頁面的ui-view中注入search.html頁面來加載搜索狀態。但問題是腳本標記內的腳本從不執行。這是我的search.html頁面。
<script type="text/javascript">
console.log('Test me');
window.alert('Test me bro');
</script>
<h1>Hello World!!</h1>
爲什麼在search.html頁面腳本標籤內的腳本沒有得到每當我的搜索狀態加載執行?
鏈接一擲:https://plnkr.co/edit/RaX5Jsd5zqAfbwGE0i8o
您是否考慮過在您的SearchController中運行腳本,而不是在模板中內聯它? 'function SearchController($ scope){ alert(「hi」); ...' –
@Oliver Barnwell它將從控制器工作。但我的要求是我想從部分視圖中引用第三方腳本文件。 –
如同,包含一個外部JS文件?如果是這樣,爲什麼不在頁面首次加載時加載第三方腳本文件,而不是在用戶導航您的網站時在腳本文件中加載? –