Angularjs Master Detail with $stateProvider 不起作用
Angularjs Master Detail with $stateProvider does not work
我已经尝试了以下方面的帮助:
UI Router load detail page from a list page
我遇到了一个问题,因为我实现的代码总体上是不同的。
我这里有 config.js:
.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' }
})
我有项目 (MASTER) html:
<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>
和 project_detail(详细信息)
<h2> {{project_data.project_id}}</h2>
最后 controller.js:
function ProjectCtrl($scope, $http, $timeout, $state, $stateParams) {
$http.get('../crud/projects_read.php').then(function(response){
$scope.projects = response.data;
});
};
function ProjectDetailCtrl($scope, $http, $timeout, $state, $stateParams) {
$scope.project_data = $scope.projects[$stateParams.project_id]
};
我想我已经设置好了,但是
UI-SREF 不起作用,我认为数据似乎不是从 controller.js 文件中的项目 --> 项目详细信息传递的。
有人能帮帮我吗?我被困住了,几乎一整天都在尝试不同的例子(甚至数不过来!)。
提前致谢!
像这样制作你的 ui-sref:
<a ui-sref="app.project_detail({project_id: 1})">
你有两处错误
按照@Gaurav
所述更改您的ui-sref
<a ui-sref="app.project_detail({project_id: 1})">
你不是在告诉你的状态会有一个参数: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' }
})'
我已经尝试了以下方面的帮助: UI Router load detail page from a list page
我遇到了一个问题,因为我实现的代码总体上是不同的。
我这里有 config.js:
.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' }
})
我有项目 (MASTER) html:
<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>
和 project_detail(详细信息)
<h2> {{project_data.project_id}}</h2>
最后 controller.js:
function ProjectCtrl($scope, $http, $timeout, $state, $stateParams) {
$http.get('../crud/projects_read.php').then(function(response){
$scope.projects = response.data;
});
};
function ProjectDetailCtrl($scope, $http, $timeout, $state, $stateParams) {
$scope.project_data = $scope.projects[$stateParams.project_id]
};
我想我已经设置好了,但是 UI-SREF 不起作用,我认为数据似乎不是从 controller.js 文件中的项目 --> 项目详细信息传递的。
有人能帮帮我吗?我被困住了,几乎一整天都在尝试不同的例子(甚至数不过来!)。
提前致谢!
像这样制作你的 ui-sref:
<a ui-sref="app.project_detail({project_id: 1})">
你有两处错误
按照@Gaurav
所述更改您的ui-sref
<a ui-sref="app.project_detail({project_id: 1})">
你不是在告诉你的状态会有一个参数: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' } })'