AngularJS使用JSON数据ID的多个路由

时间:2014-10-13 11:39:13

标签: angularjs angular-ui-router

我们是AngularJS的新手,在使用Json Data中的ID时遇到了设置多条路线的一两个问题。

我们正在尝试复制AngularJS Tutorial,因此我们可以点击每个“查看”按钮,以显示与教程相同的“保修项目”的更详细页面。

我们已将AngularJS问题上传至Plunker,如果有人能看到我们遗失的内容或知道更好的路线,请告诉我们。

App.js State with ResultSet.JobID

.state('home.singleWarranty', {
    url: '/singlewarranty/{resultset.JobID}',
    templateUrl: 'singlewarranty.html',
    controller: 'warrantyListController'
  }) 

1 个答案:

答案 0 :(得分:0)

a working/updated plunker

因为有这些状态

  .state('home', {
    url: '/home',
    templateUrl: 'home.html',
    controller: 'homeController'
  })
 .state('home.singleWarranty', {
    url: '/singleWarranty/:jobID',
    templateUrl: 'singlewarranty.html',
    controller: 'warrantyListController'
  })

我们需要像这样建立网址

<a href="#/home/singleWarranty/{{resultset.JobID}}">View</a>

而不是原来的

// <a href="#/warranty/{{resultset.JobID}}">View</a>

关键是状态'home.singleWarranty'从其父级继承/扩展url。所以我们必须包括父母&#39; / home&#39;同样。

其他解决方案:

如果我们想从头开始处于子状态的url,我们就可以这样做

 .state('home.singleWarranty', {
    url: '^/singleWarranty/:jobID',

请参阅网址开头的 ^ 。那么即便如此:

<a href="#/singleWarranty/{{resultset.JobID}}">View</a>

检查更新的plunker here