2016-01-04 4 views
0

Я только начинаю в angularjs. Я не вижу никаких ошибок и результатов в этом ниже тестировании проекта. index.htmlAngularJS stateProvider не работает

<html ng-app="UserAuth"> 
    <head> 
     <meta charset="utf-8"> 
     <meta http-equiv="X-UA-Compatible" content="IE=edge"> 
     <title>User Auth</title> 
     <script src="http://code.angularjs.org/1.2.13/angular.js"></script> 
     <script src="//cdnjs.cloudflare.com/ajax/libs/angular-ui-router/0.2.8/angular-ui-router.min.js"></script> 
     <script src="js/app.js"></script> 
     <script src="controller/loginController.js"></script> 
    </head> 
    <body> 
     <div ui-view></div> 
    </body> 
</html> 

JS/app.js

var app = angular.module('UserAuth', ['ui.router']); 
app.config(function ($stateProvider) { 
    $stateProvider 
      .state('login', { 
       url: "/", 
       controller: "LoginController", 
       templateUrl: "login.html" 
      }) 
}); 

контроллер/loginController.js

app.controller('UserAuth', function ($scope, $http) { 

}); 

Моя проблема login.html страница не отображается.

+0

вы должны дать правильный путь 'login.html', где она принадлежит. –

+0

найти ошибку в консоли. вам может потребоваться ввести зависимость для состояния в контроллере –

+1

Проверьте свои инструменты разработчика в браузере, вероятно, login.html возвращает ошибку 404, '$ stateProvider' не нужно вводить в контроллер – maurycy

ответ

0

Похоже, вы должны установить правила для пустого маршрута тоже с $urlRouterProvider.when('', '/');:

app.config(function($stateProvider, $urlRouterProvider) { 
    $urlRouterProvider.when('', '/'); 
    $stateProvider 
     .state('login', { 
      url: "/", 
      controller: "LoginController", 
      templateUrl: "login.html" 
     }) 
}) 
0

Кажется, вы не имеете контроллер с именем LoginController. У вас есть контроллер под названием UserAuth.
Вы должны изменить

app.controller('UserAuth', function ($scope, $http) { 

}) 

в

app.controller('LoginController', function ($scope, $http) { 

}); 
1

У меня была такая же проблема была решена замена

<div ui-view></div> 

по

<ui-view> 
<i>Loading ....</i> 
</ui-view> 

Примечание: проверьте также URL и контроллер

С уважением

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