使用$ stateProvider的Angularjs Master Detail不起作用

时间:2017-08-09 09:07:40

标签: angularjs master-detail

我尝试了以下方面的帮助: UI Router load detail page from a list page

我遇到了一个问题,因为我实施的代码总体上不同。

这里有config.js:

<input type="checkbox" required ng-model='rel.checked' />

我有项目(MASTER)html:

.state('app.projects', {
        url: "/projects",
        templateUrl: "views/projects.html",
        data: { pageTitle: 'Projects' },
        controller: 'ProjectCtrl'
    })
.state('app.project_detail', {
        url: "/project_detail",
        view: {
            'project_detail':{
            templateUrl: 'views/project_detail.html',
            controller: 'ProjectDetailCtrl'
            }
        },
        data: { pageTitle: 'Project detail' }
    })

和project_detail(DETAIL)

<td class="project-actions">
    <a ui-sref="app.project_detail/({project_id:1})" class="btn btn-white btn-sm"><i class="fa fa-folder"></i> View </a>
</td>

最后是controller.js:

<h2> {{project_data.project_id}}</h2>

我想我已经采取了适当的方式,但是 UI-SREF不起作用,我认为数据似乎没有从项目中传递 - &gt; controller.js文件中的项目详细信息。

有人能帮帮我吗?我被困住了,几乎整天都在尝试不同的例子(甚至无法计算!)。

提前谢谢!

2 个答案:

答案 0 :(得分:1)

你在两个地方有错误

  1. 按照@Gaurav

    的说法更改ui-sref
    <a ui-sref="app.project_detail({project_id: 1})">
    
  2. 您没有告诉您的州会有一个参数:project_id

     .state('app.project_detail', {
            url: "/project_detail/:project_id",
            view: {
                'project_detail':{
                templateUrl: 'views/project_detail.html',
                controller: 'ProjectDetailCtrl'
                }
            },
            data: { pageTitle: 'Project detail' }
        })'
    

答案 1 :(得分:0)

让你的ui-sref像这样:

<a ui-sref="app.project_detail({project_id: 1})">