在Angular UI Router中提供带ID的URL

use*_*rpr 0 angularjs angularjs-scope angularjs-routing angular-ui-router

我有一个问题,当我编辑数据时,我的网址没有显示id示例:/answer/1 or /answer/2 or /answer/3等我很困惑,因为我使用UI ROUTER 我是初学者使用UI ROUTER angularjs.你能帮助我吗 ?我该怎么办 ?谢谢

我的路由代码:

.state({
    name: 'answer',
    url : '/answer/',
    params : {
                obj : null  
    },
    controller: 'answer-controller',
    templateUrl: 'templates/table-answer.html'
})
Run Code Online (Sandbox Code Playgroud)

ng-click转到表格答案:

<button type="button" class="btn btn-default" ng-click="ListAnswer(data.item)"><i class="fa fa-eye"></i> View Answer</button>
Run Code Online (Sandbox Code Playgroud)

将params $ scope.ListAnswer传递给answer-controller.js

$scope.ListAnswer = function(data) {

    $state.go('answer', {obj : data});

};
Run Code Online (Sandbox Code Playgroud)

Sur*_*iya 5

这很简单.你错过了一件事,否则你的代码是正确的.

.state({
  name: 'answer',
  url : '/answer/{answerId}',
  params : {
    obj : null  
  },
  controller: 'answer-controller',
  templateUrl: 'templates/table-answer.html'
})
Run Code Online (Sandbox Code Playgroud)

现在有两种方法可以覆盖那个州.

//的Html

<button type="button" class="btn btn-default" ng-click="ListAnswer(data.answerId)"><i class="fa fa-eye"></i> View Answer</button>
Run Code Online (Sandbox Code Playgroud)

//控制器

$scope.ListAnswer = function(answerId) {
    $state.go('answer', {answerId: answerId});
};
Run Code Online (Sandbox Code Playgroud)

要么

<button type="button" class="btn btn-default" ui-sref="answer({answerId: data.answerId})"><i class="fa fa-eye"></i> View Answer</button>
Run Code Online (Sandbox Code Playgroud)