2015-09-22 21 views
0

我只是跟着下面 https://scotch.io/tutorials/single-page-apps-with-angularjs-routing-and-templatingangularjs路由,JavaScript不工作,在所注入的看法

我確實做到了鏈路上的教程爲頁面上的描述,但它evoluting到一個真實的項目,我不得不把內部頁面內的一些JavaScript代碼,例如pages/about.html。由於某種原因,它不會被執行。即使你把一個單一的

<script> 
    alert('foo'); 
</script> 

它不被解釋爲JavaScript代碼。和警報未顯示

頁面使用NG-視圖注射

<div id="main"> 

    <div ng-view></div> 

</div> 

整個代碼可以在 https://scotch.io/tutorials/single-page-apps-with-angularjs-routing-and-templating

感謝

+1

看看這個答案http://stackoverflow.com/questions/21336350/angularjs-inline-script-in-the-included-html-template – masimplo

+0

我的猜測是將HTML插入innerHTML,而不是'執行JavaScript。 http://jsfiddle.net/rc4yv1Lq/1/ –

+0

把代碼放入指令是很容易的。如果你剛剛起步,會發現它更簡單 – charlietfl

回答

0

從來就使用腳本里面我的模板已被視爲(用於延遲加載)現在不知道AngularJS沒有完成整個工作。但是,如果將AngularJSJQuery結合使用,則可以執行此任務。

檢查解決方案下面的代碼片段:

的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> 

的進口秩序在這種情況下非常重要。如果您將JQueryAngularJS對換,該解決方案將無法工作。

希望它有幫助!