2016-01-23 5 views
0

Во время обучения/чтения angular docs он предупреждает об объявлении контроллера с использованием ng-контроллера.Правильно объявляя угловой контроллер, а не дважды

Описывает ли мой код ниже, объявляя MainMenuCtrl дважды. Сначала в app.js и во второй раз в теге body index.html? Благодаря

//---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 .it, потому что контроллер будет выполняться дважды, поэтому удалите один –

ответ

0

Нет, вы объявляете его только один раз. В шаблоне вы просто объявляете, что тело и его содержимое должны появиться в области контроллера.

Смежные вопросы