2015-05-16 2 views
2

Я пытаюсь создать простое приложение с угловыми углами, и недавно я добавил маршрутизатор в route.js. По какой-то причине ассоциация не производится между mainCtrl и someview.html Причина, по которой я знаю это, потому что представление не вводится в <div ng-view></div> У кого-нибудь есть идея, почему?Просмотр не впрыскивается в Angular

Моя структура папок следующие

root 
------/app 
----------routes.js 
----------/views 
-----------------someview.html 
------/public 
---------mainCtrl.js 
---------index.html 
server.js 

mainCtrl.js

angular.module('LiveAPP',[]) 

.controller('MainCtrl', function($scope) { 
    $scope.Artists = [ 
     {name:"Blink 182",age:14}, 
     {name:"Led Zeppelin",age:12}, 
     {name:"Lil Wayne",age:11} 
    ]; 
    $scope.number = 100; 
}); 

someview.html

<div>{{number}}</div> 

route.js

angular.module('LiveAPP', ['ngRoute']) 

.config(function($routeProvider, $httpProvider) { 
$routeProvider 
    .when('/', { 
    templateUrl : '/views/someview.html', 
    controller : 'MainCtrl' 
    }) 

}); 

index.html

<!doctype html> 
<html ng-app='LiveAPP'> 
    <head> 
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js"> 
    </script> 
    <link rel="stylesheet" href="http://yui.yahooapis.com/pure/0.6.0/pure-min.css"> 
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.28//angular-route.min.js"></script> 
    <script src="mainCtrl.js"></script> 
    </head> 
    <body> 
    <div ng-view></div> 
    </body> 
</html> 

server.js

var express = require('express'); 
var app = express(); 

app.use(express.static(__dirname + '/public')); 

app.listen(3000); 

console.log("Listening at 3000") 

ответ

1
angular.module('LiveAPP',[]) 
    .controller('MainCtrl', function($scope) { 

Здесь можно определить модуль LiveAPP, который не зависит от какой-либо другого модуля и добавить контроллер к является модулем.

angular.module('LiveAPP', ['ngRoute']) 
    .config(function($routeProvider, $httpProvider) { 

И вот, вы заново, еще раз, модуль с таким же именем, в зависимости от ngRoute. Но поскольку вы переопределяете его, вы фактически перезаписываете ранее определенный модуль и все его компоненты.

Модуль должен быть определен один раз и только один раз.

Я не очень-то разбираюсь в курсах, но я также не понимаю, почему все ваши файлы не находятся под public, так как это, по-видимому, каталог, который обслуживает веб-сервер.

+0

Урок хорошо изучил. Огромное спасибо. – theamateurdataanalyst

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