AngularJS路由不加载ui-view

时间:2017-08-21 13:13:46

标签: angularjs .htaccess

当我点击我的网站时,我没有看到ui-view加载我的部分,我首先想到的是htaccess然后意识到当我点击mysite时:8080 /#/ login仍然没有加载ui - 视图是空的。请帮助:(

CODE

angular.module('myApp').config(function($stateProvider,$httpProvider,$locationProvider){ 

    $stateProvider.state('_login',{
       url:'/',
       templateUrl:'partial/login/login.html',
       controller:'loginController'
    }).state('home',{
        url:'/home',
        templateUrl:'partial/home/home.html',
        controller:'homeController'
    }).state('logout',{
       url:'/logout',
       templateUrl:'partial/logout/logout.html',
       controller:'logoutController'
    });

    $locationProvider.html5Mode(true);

}).run(function($window,$state,$rootScope){     

   $state.go('login');

});

htaccess的

RewriteEngine On
Options FollowSymLinks

RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /#/$1 [L]

3 个答案:

答案 0 :(得分:0)

您需要将ui-router注入模块:

angular.module('myApp', ['ui.router'])
   .config(function($stateProvider, $httpProvider, $locationProvider){ 

答案 1 :(得分:0)

您想导航到"登录"状态,但是您已将上面定义为州" _login"。

答案 2 :(得分:0)

当您在可选参数中定义url时,它会将url与给定状态的正则表达式匹配,因此对于此url mysite,您的状态应如此:8080 /#/ login

 $stateProvider.state('login',{
   url:'/login',
   templateUrl:'partial/login/login.html',
   controller:'loginController'
})