2016-06-20 3 views
0

My index.htmlAngularJs маршрутизация неудачу

<!doctype html> 
<html data-ng-app="hotelApp"> 

    <head> 
    <title>SRK Hotel</title> 
    <meta charset="utf-8"> 
    <meta http-equiv="X-UA-Compatible" content="IE=edge"> 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
    <!-- <link rel="stylesheet" href="stylesheets/style.css"> --> 

    <!-- Angular dependencies --> 
    <link rel="stylesheet" type="text/css" href="lib/angular-material/angular-material.css"> 
    <script src="lib/angular/angular.min.js"></script> 
    <script src="lib/angular-animate/angular-animate.min.js"></script> 
    <script src="lib/angular-aria/angular-aria.min.js"></script> 
    <script src="lib/angular-material/angular-material.min.js"></script> 
    <script src="lib/angular-ui-router/release/angular-ui-router.min.js"></script> 


    <script src="scripts/start.js" type="text/javascript"></script> 
    <script src="scripts/home-page-ctrl.js" type="text/javascript"></script> 
    <script src="scripts/states/misc-states.js" type="text/javascript"></script> 


    </head> 

    <body> 
    <!-- <div data-ng-include="'views/welcome-page.html'"></div> --> 
    <div ui-view="welcome"></div> 
    </body> 

</html> 

Моего app.js

(function() { 

    angular.module('hotelApp.controller', []); 
    angular.module('hotelApp.states', ['ui.router']); 

    angular.module('hotelApp', ['ui.router']); 



})(); 

Моего states.js - что есть для декларации государств

angular.module('hotelApp.states') 
    .config(function ($stateProvider, $urlRouterProvider) { 
    'use strict'; 


    $stateProvider 
     .state('hotelApp.homePage', { 
      url: '/home', 
      views: { 
       'welcome': { 
        templateUrl: 'views/welcome-page.html', 
        conntroller: 'homePageCtrl' 
       } 
      } 
     }); 
    $urlRouterProvider.when('/', function($state){ 
    console.log('$state ' , $state); 
     $state.go('hotelApp.homePage'); 
    }); 

    $urlRouterProvider.otherwise(function(){ 
     console.log('hi'); 
    }); 


    }); 

моих nodejs файл

var express = require('express'); 

var cfenv = require('cfenv'); 


var app = express(); 


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

app.use('/lib', express.static(__dirname + '/node_modules')); 


app.get('*', function(req, res) { 
    res.sendFile(__dirname+'/public/index.html'); 
}); 


var appEnv = cfenv.getAppEnv(); 

app.listen(appEnv.port, '0.0.0.0', function() { 
    console.log("server starting on " + appEnv.url); 
}); 

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

+0

, к какому маршруту вы обращаетесь в браузере? –

ответ

0

Ваш главный модуль определяется как

angular.module('hotelApp', ['ui.router']); 

Так что все зависит исключительно от Ui-маршрутизатора.

Ваши состояния определены в отдельном модуле «hotelApp.states», который, таким образом, не является частью вашего приложения.

Еще одна проблема заключается в том, что два JS-файла, которые вы разместили, - это app.js и states.js, а на вашей странице html для этих двух файлов нет элемента <script>. Так что даже не загружается браузером.

+0

Это исправляет вышеупомянутую проблему. Но теперь HTML не загружается в u-view. Я добавил 'angular.module ('hotelApp', [ 'ui.router', 'hotelApp.states', 'hotelApp.controller']) \t .run (функция ($ состояние) { \t \t $ состояние .go ('hotelApp.homePage'); \t}); ' in start.js –

+0

Прежде всего, не называйте ваше государство 'hotelApp.homePage'. Это определяет состояние homePage, которое является дочерним элементом состояния hotelApp, которого не существует. –

+0

Я не добавил эти сценарии здесь. Они есть: P –