對於Angular.js來說,我很新,並試圖在Node.js應用程序上實現它。在同一個DOM上使用多個Angular.js控制器
我已經成功地爲單個控制器使用角度創建RESTful API,但現在想要在單個DOM上使用兩個或多個控制器。
具體而言,我想..
1)使用的角度來加載全局範圍包含的東西等的網站的標題,導航,和元數據,所有這些都將被加載到所述頭部的DOM模板,頁眉和頁腳。範圍將被使用GET請求拉到我的節點服務器。
2)使用angular爲給定頁面加載範圍。這將根據每個頁面的具體情況而定。簡單的情況是將範圍加載到模板中。
我已經成功地分別完成了(1)和(2),但將它們組合起來會引發錯誤。
這裏是我的完整模板(由節點的部分實際上加載):
頭 - 含NG-控制器= 「configCtrl」 全球配置範圍
<html ng-app="angular" ng-controller="configCtrl" ><head>
<meta http-equiv="Content-Type" content="text/html charset=UTF-8" />
<title>{{context.title}}</title>
<meta name="description" content="{{context.description}}">
<meta name="author" content="{{context.author}}">
<!-- Angular -->
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.8/angular.min.js"></script>
</head><body><div id="wrapper" >
身體 - 含ng-controller =「testCtrl」用於此特定頁面範圍
<div class="container" ng-controller="testCtrl">
<div class="gutter col hidden-xs"> </div>
<div class="content col" >
<div class="py80">
<h1>{{context.test}}</h1>
</div>
</div>
<div class="gutter col hidden-xs"> </div>
</div>
<!-- ANGULAR CONTROLLER FOR THIS PAGE -->
<script src="/public/js/angular/test_controller.js"></script>
頁腳 - 包括鏈接到控制器全球範圍
<footer id="footer" ></footer>
</div></body></html> <!-- close tags-->
<!-- ANGULAR CONTROLLER FOR GLOBAL CONFIGURATION SCOPE -->
<script src="/public/js/angular/config_controller.js"></script>
這裏是我的「配置範圍」
var app = angular.module('angular', []);
app.controller('configCtrl', function($scope, $http) {
console.log("config controller");
$http.get('/config').then(function(response){
console.log(response.data);
$scope.context = response.data;
});
});
這裏角控制器是我的角控制器的頁面適用範圍
var app = angular.module('angular', []);
app.controller('testCtrl', function($scope, $http) {
console.log("test controller");
$http.get('/test').then(function(response){
console.log(response.data);
$scope.context = response.data;
});
});
我有一些服務器端控制器將數據返回回角,如上所述,它們各自獨立工作使用,但使用它們一起(如上所示)引發以下客戶端錯誤時:
angular.js:13920 Error: [ng:areq] http://errors.angularjs.org/1.5.8/ng/areq?p0=testCtrl&p1=not%20a%20function%2C%20got%20undefined
at angular.js:38
at sb (angular.js:1892)
at Pa (angular.js:1902)
at angular.js:10330
at ag (angular.js:9451)
at p (angular.js:9232)
at g (angular.js:8620)
at g (angular.js:8623)
at g (angular.js:8623)
at g (angular.js:8623)
任何建議?
作品!謝謝。我想這是簡單的 – yevg