Javascript $routeProvider未重定向到templateUrl
我正在使用AngularJS创建一些CRUD页面,在用户列表页面上,我试图在用户单击“Javascript $routeProvider未重定向到templateUrl,javascript,angularjs,web-applications,Javascript,Angularjs,Web Applications,我正在使用AngularJS创建一些CRUD页面,在用户列表页面上,我试图在用户单击“edit”按钮后重定向到编辑页面。但由于某种原因,$routeProvider无法工作 这是我的index.html显示的用户列表 <tr ng-repeat="user in usersData"> <td>{{ user.firstname }}</td> <td>{{ user.lastname }}</td> <t
edit
”按钮后重定向到编辑页面。但由于某种原因,$routeProvider
无法工作
这是我的index.html
显示的用户列表
<tr ng-repeat="user in usersData">
<td>{{ user.firstname }}</td>
<td>{{ user.lastname }}</td>
<td>{{ user.jobtitle }}</td>
<td>{{ user.userprofile.sex }}</td>
<td>{{ user.userprofile.maritalstatus }}</td>
<td><a ng-click="editUser(user.id)" class="btn btn-small btn-primary">edit</a></td>
<td><a ng-click="deleteUser(user.id)" class="btn btn-small btn-danger">delete</a></td>
</tr>
我的目录结构如下
src/main/resources/static/js/app.js
src/main/resources/static/css/bootstrap.css
src/main/resources/templates/index.html
src/main/resources/templates/editUser.html
我错过了什么?单击“编辑”按钮,浏览器中的url将更改为
https://localhost:8443/home#!/editUser/1
,但它永远不会被路由到editUser.html
尝试在应用程序中添加ng view指令,以便$route服务可以呈现正确的模板。尝试添加此指令和ng view指令$location.path('editUser/'+userId)代码>我通过将模板移动到我在静态文件夹下创建的视图文件夹中,解决了这个问题
app.config(function($routeProvider,$locationProvider){
$locationProvider.html5Mode(true);
$routeProvider.when('/listUser', {templateUrl: 'views/listUser.html', controller: 'userController'});
$routeProvider.when('/listCompany',{templateUrl: 'views/listCompany.html', controller: 'companyController'});
$routeProvider
.when('/editUser/:userId', {
templateUrl : 'views/editUser.html'
})
;
$routeProvider
.when('/editCompany/:companyId', {
templateUrl : 'views/editCompany.html'
})
;
$routeProvider.when('/createUser',{templateUrl:'views/createUser.html'});
$routeProvider.when('/createCompany',{templateUrl:'views/createCompany.html'});
});
尝试home/editUser/:userid
。更好的是,使用$location的html5模式:@SimonPoole-不起作用…我尝试添加$locationProviderI添加了这个,仍然没有更改。这是同样的结果还是同样的结果
app.config(function($routeProvider,$locationProvider){
$locationProvider.html5Mode(true);
$routeProvider.when('/listUser', {templateUrl: 'views/listUser.html', controller: 'userController'});
$routeProvider.when('/listCompany',{templateUrl: 'views/listCompany.html', controller: 'companyController'});
$routeProvider
.when('/editUser/:userId', {
templateUrl : 'views/editUser.html'
})
;
$routeProvider
.when('/editCompany/:companyId', {
templateUrl : 'views/editCompany.html'
})
;
$routeProvider.when('/createUser',{templateUrl:'views/createUser.html'});
$routeProvider.when('/createCompany',{templateUrl:'views/createCompany.html'});
});