使用AngularJs中的StateProvider将数据从一个页面传递到另一个页面

时间:2016-06-24 19:01:56

标签: angularjs

我有一个ListPage.html,它有一个包含两列的表。第一列具有Id,下一列具有名称。

                                   <table class="table">

                                        <tr>
                                            <th>ID</th>
                                            <th>Name</th>>
                                        </tr>
                                        </thead>
                                        <tbody>
                                        <tr>
                                            <td><a href="" ui-sref="app.details" style="text-decoration: underline">1</a></td>
                                            <td>First Value</td>
                                        </tr>
                                        <tr>
                                            <td><a href="" ui-sref="app.details" style="text-decoration: underline">2</a></td>
                                            <td>Second Value</td>
                                        </tr>
                                        </tbody>
                                    </table>

当我点击链接时,我希望将值传递给下一页。就像,当我点击第一行时,我希望将值1传递到下一页。表中加载的值是动态的,并且来自Web服务。我有一个router.js,当用户点击链接时,它现在将其带到另一个页面。

Router.js

    export default ['$stateProvider', '$urlRouterProvider', ($stateProvider, $urlRouterProvider) => {
  $stateProvider


    .state('app.details', {
      url: '/details',
      template: require('./details/index.html')
    });

  $urlRouterProvider.otherwise('/');
}];

您能告诉我如何使用状态提供程序将数据从ListPage.html传递到此页面。我想在网址中显示ID并将其显示在详细信息页面中。

1 个答案:

答案 0 :(得分:0)

使用您的ui-sref标记作为参数传递您的值: ui-sref =“app.details({test:'1'})”

将其添加到.state()中的网址: url:'/ details /:test'

使用$ stateParams库在其他控制器中捕获它: $ stateParams.test