我已经定义了编辑状态/编辑,当我点击编辑实例D1时,它不会转到该路线
<a ng-href="#/instance/edit">Edit Instance D1</a>
JS
routerApp.config(function($stateProvider, $urlRouterProvider) {
$urlRouterProvider.otherwise('/home');
$stateProvider
.state('home', {
url : '/home',
templateUrl : 'instance-view.html',
controller : 'instanceListController'
})
.state('instance', {
url : '/instance',
abstract: true,
template: '<ui-view/>'
})
.state('instance.detail', {
url : '/:id',
templateUrl : 'data-view.html',
controller : 'specDataListController'
})
.state('instance.edit', {
url: '/edit',
templateUrl : 'edit-table.html',
controller : 'editInstanceController'
});
});
答案 0 :(得分:1)
如JB Nizet所述,路由器会将编辑解释为id,而不会点击/ edit。
根据JB Nizet的建议,您可以为您的ID使用数值,并将以下内容添加到您的路线中:
url : '/{id:[0-9]{1,8}}'
或者您可以使用包含非数字字母的ID并在视图中分割您的路线:/ id和edit /:id:
.state('instance.detail', {
url : '/view/:id',
templateUrl : 'data-view.html',
controller : 'specDataListController'
})
.state('instance.edit', {
url: '/edit/:id',
templateUrl : 'edit-table.html',
controller : 'editInstanceController'
});
您还必须更新观看中的链接。
查看我的Plunker