我正在尝试使用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
答案 0 :(得分:0)
你可以试试你的配置吗,
yourapp.config(
function( $stateProvider,
$locationProvider) {
$locationProvider.html5Mode(false);
})
默认情况下为false,因此如果您已指定并尝试,则可以删除此设置。 我只是怀疑这是因为在你的网址(localhost / clinicProfile)中,没有“#”。您是否尝试过localhost /#/ clinicProfile?
另外,请尝试启用HTML5Mode并在index.html的头部包含此行:或者尝试$ locationProvider.html5Mode({enabled:true,requireBase:false});所以$ locationProvider不依赖于基本标记。