2016-01-23 59 views
0

在學習/讀取angular docs時,它警告使用ng控制器再次聲明控制器正確聲明角度控制器,不是兩次

這是否描述我的代碼如下,聲明MainMenuCtrl兩次。首先在app.js中,第二次在index.html的body標籤中?由於

//---index.html------------------------------- 
 
<!doctype html> 
 
<html lang="en" ng-app="angApp"> 
 
<head> 
 
    <meta charset="UTF-8"> 
 
    <title>Document</title> 
 
    <link rel="stylesheet" href="css/index.css"> 
 
    <base href="http://localhost:63342/project_student/"> 
 
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.9/angular.min.js"></script> 
 
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.9/angular-route.min.js"></script> 
 
    <script src="https://code.angularjs.org/1.5.0-rc.1/angular-animate.min.js"></script> 
 
    <script src="js/app.js"></script> 
 
    <script src="js/controllers/controllers.js"></script> 
 
    <script src="js/controllers/headerCtrl.js"></script> 
 
    <script src="js/controllers/first_page.js"></script> 
 
    <script src="js/controllers/second_page.js"></script> 
 
    <meta name="viewport" content="width=device-width" /> 
 
</head> 
 

 
<body ng-controller="MainMenuCtrl"> //<<------1st declare----------------- 
 
<header> 
 
    <button class="menuLeft" type="button" ng-click="toggleList()">&#9776;</button> 
 
    <label id="pageTitle" class="pageTitle">Select item from list</label> 
 
    <button class="menuRight" type="button">&#8942;</button> 
 
</header> 
 

 
<main class="listview" ng-hide="showListView" ng-view></main> 
 

 
<footer id="footer" class="footer"> 
 
    <ul class="horizontal-style"> 
 
     <li><button type="button">NO</button></li> 
 
     <!--<li><button type="button">EXTRA</button></li>--> 
 
     <li><button type="button">YES</button></li> 
 
    </ul> 
 
</footer> 
 

 
</body> 
 
</html>
//---app.js------------------------------- 
 
(function() {       //y010 
 
    'use strict'; 
 
    angular 
 
     .module('angApp', ['ngRoute', 'MainMenuCtrl']) //<<------2nd declare----------- 
 
     .config(['$routeProvider', routeProvider]);  //y024 
 
})(); 
 

 
function routeProvider ($routeProvider) { 
 
    $routeProvider.when('/menuItems', { 
 
     url: "/menuItems", 
 
     templateUrl: 'views/mainMenu.html', 
 
     controller: 'MainMenuCtrl' //<<-------- called------------- 
 
    }).when('/first_page', { 
 
     url: "/first_page", 
 
     templateUrl: 'views/first_page.html', 
 
     controller: 'FirstPageController' 
 
    }).when('/second_page', { 
 
     url: "/second_page", 
 
     templateUrl: 'views/second_page.html', 
 
     controller: 'SecondPageController' 
 
    }) 
 
    .otherwise({  //home page 
 
     redirectTo: '/menuItems' 
 
    }); 
 
}

+0

您不需要在app.js和html中指定控制器兩次,它將導致控制器執行兩次,因此刪除一個 –

回答

0

不,你宣佈它只有一次。在模板中,您只需聲明該主體,其內容應在控制器的範圍內