[AngularJS]用户界面路由器保持将重定向到索引和不加载之前国家的意见

发布时间: 2017/4/16 21:24:23
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我试图使国家和加载视图与 UI 路由器,除非它保持重定向我要编制索引。我不能弄清发生了什么。

我已经宣布 app.js 某处别的,我只张贴 router.js 在这里。

代码

angular.module("MyApp").config(function($stateProvider) {
    $stateProvider
      .state('clinicdashboard', {
      url: '/clinicdashboards',
      templateUrl: 'clinicdashboard/views/index.html',
      controller: 'clinicDashboardCtrl',
      resolve: {
        loginRequired: loginRequired,

        patientlist: ['$http', function($http) {
          console.log("hello");
          return $http({
            method: 'GET',
            url: 'users/api/getPatientList'
          });
        }]
      }
    })
    .state('patientList', {
      url: '/patientlist/:id',
      templateUrl: 'clinicdashboard/views/detail.html',
      controller: 'clinicDashboardCtrlDetail',
      resolve: {
        loginRequired: loginRequired
      }
    })
    .state('clinicProfile', {
      url: '/clinicProfile',
      templateUrl: 'clinicdashboard/views/clinicProfile.html',
      // controller:  'clinicDashboardCtrlDetail',
      resolve: {
        loginRequired: loginRequired
      }
    })
    .state('clinicProfile.clinicProfileEdit', {
      url: '/clinicProfileEdit',
      templateUrl: 'clinicdashboard/views/clinicProfileEdit.html',
      // controller:  'clinicDashboardCtrlDetail',
      resolve: {
        loginRequired: loginRequired
      }
    })
    function loginRequired($q, $location, $auth) {
      var deferred = $q.defer();
      if ($auth.isAuthenticated()) {
        deferred.resolve();
      } else {
        $location.path('/login');
      }
      return deferred.promise;
    }
})

我已经把所有的文件在其正确的目录中。
它在控制台或 nodemon 或任何地方显示没有错误。

它仅仅只重定向到我 localhost ,即使我试着去喜欢的东西localhost/clinicProfile

解决方法 1:

你可以尝试在您的配置吗

  yourapp.config(
        function( $stateProvider,
                $locationProvider) {
            $locationProvider.html5Mode(false);
})

默认情况下它是假的所以您可以移除此设置,如果已指定,并尝试。 我只被怀疑这是在您的 url (localhost/clinicProfile),有没有"#"。你试过 localhost / #/ clinicProfile 一样好吗?

而且,请尝试启用 HTML5Mode 和这条线列入 index.html 团长︰ 或尝试 $locationProvider.html5Mode ({启用︰ 真的,requireBase︰ 假});所以 $locationProvider 不会依赖于基础标签。

赞助商