[英]angularjs routing, javascript does not work on injected views
我只是按照以下鏈接上的教程進行操作:https://scotch.io/tutorials/single-page-apps-with-angularjs-routing-and-templating
我完全按照頁面上的描述進行操作,但是將其逐步發展為一個真正的項目,我不得不在內部頁面(例如pages / about.html)中放置一些javascript代碼。 由於某種原因,它沒有執行。 即使你放一個
<script>
alert('foo');
</script>
它不被解釋為javascript代碼。 並且未顯示警報
頁面是使用ng-view注入的
<div id="main">
<div ng-view></div>
</div>
整個代碼可以在https://scotch.io/tutorials/single-page-apps-with-angularjs-routing-and-templating中查看
謝謝
我一直在模板中使用腳本(用於延遲加載)一段時間,卻不知道AngularJS並沒有完成全部工作。 但是,如果將AngularJS與JQuery結合使用,則可以完成任務。
檢查以下代碼段以獲取解決方案:
index.html
<!DOCTYPE html>
<html ng-app="app">
<head>
<meta charset="utf-8">
<script src="https://code.jquery.com/jquery-2.1.4.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.2/angular.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.2/angular-route.js"></script>
</head>
<body>
<h1>angular app</h1>
<div ng-view></div>
<script type="text/javascript">
var app = angular.module('app', ['ngRoute']);
app.config(function($routeProvider) {
$routeProvider
.when('/', {
template: '<a href="#script">i´m feeling lucky!</a>'
})
.when('/script', {
templateUrl: 'script.html'
});
});
</script>
</body>
</html>
script.html
script successfully loaded!
<script>alert('ok');</script>
在這種情況下,導入順序很重要。 如果將JQuery與AngularJS交換,該解決方案將無法正常工作。
希望能幫助到你!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.