2016-10-08 4 views
1

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

/домашний маршрут работает (или я так думаю, потому что показывается шаблон) , но ng-repeat «прокомментирован» в выходном коде.

это мой main.js:

(function() 
{ 

    angular.module('angularTest',['ngRoute']) 
    .config(config) 

    config.$inject=['$routeProvider']; 
    function config($routeProvider) 
    { 
      $routeProvider 
      .when('/home', { 
      templateUrl : '/home', 
      controller : HomeCtrl 
     }); 

    } 

    HomeCtrl.$inject=['$scope']; 
    function HomeCtrl($scope) 
    { console.log('homectrl'); 
     $scope.init = init; 

     function init() 
     { 

      $scope.names=['a','b','c']; 
     } 
     $scope.init(); 
    } 

})() 

server.js

var express  = require('express'); 
var app   = express(); 
var mongoose = require('mongoose'); 
var http  = require('http'); 
var path  = require('path'); 


var home = require('./app/routes/views/homeRoute'); 




app.set('views', path.join(__dirname, 'app/views')); 
app.set('view engine','pug'); 


app.use(home); 

app.use(express.static(__dirname+'/public')); 
app.set('port',process.env.PORT || 8080); 

http.createServer(app).listen(app.get('port'),function() 
{ 
    console.log('listening '+app.get('port')); 
}); 

Вот мой home.pug

html(ng-app='angularTest') 
    head 
     body 
      h1(ng-repeat='name in names') 
script(src='/libs/angular/angular.min.js') 
script(src='/libs/angular/angular-route.min.js') 
script(src='/libs/angular/angular-sanitize.min.js') 
script(src='/js/main.js') 

и выход

<html ng-app="angularTest" class="ng-scope"> 
    <head> 
    </head> 
    <body><!-- ngRepeat: name in names --> 
     <script src="/libs/angular/angular.min.js"></script> 
     <script src="/libs/angular/angular-route.min.js"></script> 
     <script src="/libs/angular/angular-sanitize.min.js"></script> 
     <script src="/js/main.js"></script> 
    </body> 
</html> 

homeRoute.js

var router=require('express').Router(); 


router.get('/home',function(req, res) 
{ 

    res.render('_shared/home.pug'); 

}); 

module.exports=router; 

Полный код: https://github.com/federhico/AngularTest

ответ

0

templateUrl в $routeProvider должно быть, как это, добавляется .html, а также проверить, если путь является правильным,

Поместите контроллер с ''

function config($routeProvider) 
    { 
      $routeProvider 
      .when('/home', { 
      templateUrl : '/home.html', 
      controller : 'HomeCtrl' 
     }); 

    } 
+0

Без изменений ... маршрут перейдите на сайт homeroute.js Я не знаю, как отредактировать сообщение, чтобы добавить файл, но если вы посмотрите в github в AngularTest/app/routes/views/homeRoute.js – federhico

+0

, я не могу, вы можете клонировать репо? – federhico

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