基於這tutorial,我有我的父母國家的人名單。當我點擊其中一個人時,會創建一個新視圖以顯示該人的詳細信息。在我的URL中,我使用了該人員的ID,因此可以很容易地獲取要在子狀態中使用的ID。問題是,我也想通過信息,如姓名,電子郵件,年齡等分享數據從父母到孩子狀態與角UI的路由器
的代碼如下:
我的路線:
angular
.module('appRoutes', ["ui.router"])
.config(['$stateProvider', '$urlRouterProvider', function($stateProvider, $urlRouterProvider) {
var TalentForceState_seeProfile = {
name: 'students',
url: '/seeProfile',
templateUrl: 'public/templates/talentforce_template.html',
controller: 'People_Controller'
}
var singleStudent = {
name: 'student',
parent: 'students',
url: '/:personId',
templateUrl: 'public/templates/person_template.html',
controller: 'Person_Controller'
}
....
然後,控制器適合人羣:
talentforceApp
.controller('People_Controller', ['$scope', '$state', '$stateParams', 'StudentService', function($scope, $state, $stateParams, StudentService) {
StudentService.query().$promise.then(function(data) {
$scope.students = data;
});
}]);
然後,控制器人:
talentforceApp
.controller('Person_Controller', ['$scope', '$state', '$stateParams', 'StudentService', function($scope, $state, $stateParams, StudentService) {
$scope.student_id = $stateParams.personId;
console.log($stateParams)
}]);
而且,這裏的人對HTML:
<div ng-controller="Person_Controller">
<h3>A person!</h3>
<div>Name: {{student_name}}</div>
<div>Id: {{student_id}}</div>
<button ui-sref="students">Close</button>
</div>
如student_name
信息似乎是我無法從父狀態傳遞
我試圖用解決方案,如this,使用$state.go
,或this,使用params
,但它總是給我錯誤,如param values not valid for state
或變量未定義。
這個問題的解決方案?
你有API來顯示學生的詳細信息嗎? – Sravan