跨控制器动态传递值以获得相应的视图 - AngularJS

时间:2014-06-11 10:22:06

标签: angularjs angularjs-controller

我有一个页面,其中显示表格中的项目列表。在点击之后有一个名为' Details'的字段,该字段进入显示特定项目详细信息的视图。值显示在' details.html'是正确的,但我使用的是项目的静态值。我想获取被点击项目的ID以显示其详细信息。视图中的html页面都有两个不同的控制器,我不想合并。那么,如何将值从一个控制器传递到另一个控制器呢?请帮忙!

<table class="table table-hover">
<tr>
  <th>DOCTOR</th>
  <th>SPECIALITY</th>
  <th>CITY</th>
  <th>CLASS</th>
</tr>
<tr ng-repeat="doc in doctors">
  <td>{{ doc.contactName }}</td>
  <td>{{ doc.speciality }}</td>
  <td>{{ doc.townName }}</td>
  <td>{{ doc.class }}</td>
  <td><a href="#/precall" ng-click="pass(doc.contactId)">&gt</a></td>
</tr>

为此我使用控制器MenuCtrl。单击此按钮将转到下一页,该页面使用PrecallCtrl。我想在其上显示以下内容。

<h2>{{contactid}}</h2>

现在获取contactid id对我来说已经足够了。休息了。

1 个答案:

答案 0 :(得分:0)

您可以使用$routeParams。您需要做的是在为详细信息页面定义路由时添加命名组参数,例如

$routeProvider.when ('/details/:contactId', configObject).

现在,当您导航到详细信息视图时,您应该构建的网址应该与#/details/24类似。

在详情控制器上使用$routeParams集合使用$routeParams.contactId

检索contactId