0
상태를 상위 페이지에서 하위 상태로 전환하려고합니다. 나는 형태로했습니다
- (URL :/세션) ng를 클릭 NG-클릭이 $ 자원 POST를 실행하고
- $ state.go를 호출
- 첨부했습니다 여기 내 설정이다 새 페이지 (URL :/세션/: sessionId)로 이동하기 위해 성공한 경우
두 개의 상태에 대해 별도의 컨트롤러가 있습니다.
.config(function config($stateProvider) {
$stateProvider
.state('alkalom', {
url: '/alkalmak',
controller: 'AlkalomCtrl',
templateUrl: 'home/home.tpl.html',
data:{ pageTitle: 'Alkalmak' }
})
.state('alkalom.details', {
url: '/:alkalomId',
controller: 'AlkalomItemCtrl',
templateUrl: 'home/alkalom.tpl.html',
data:{ pageTitle: 'Alkalom' }
});
})
.controller('AlkalomCtrl', function HomeController($scope, Global, Alkalom , $stateParams, $state) {
console.log('AlkalomCtrl initialized', $stateParams);
$scope.alkalmak = Alkalom;
$scope.setupAlkalom = function(alkalom) {
alkalom = new Alkalom(alkalom);
alkalom.$save(function(value, hdrs){
$state.go('.details', {'alkalomId': value._id});
});
};
$scope.today = function() {
return Date.now().day;
};
$scope.nextHour = function() {
return Date.now().hour + 1;
}
})
.controller('AlkalomItemCtrl', function AlkalomItemCtrl($scope, Global, Alkalom, $stateParams) {
console.log('AlkalomItemCtrl initialized', $stateParams);
$scope.jogasok = Global.getJogasok();
$scope.alkalom = Alkalom.get($stateParams.alkalomId)
$scope.addJogas = function(jogas) {
$scope.jogasok = Global.addJogas(jogas);
$scope.addResztvevo(jogas);
};
$scope.addResztvevo = function(jogas) {
$scope.alkalom.$addResztvevo({
'_id': $scope.alkalom._id,
'jogas': jogas._id
}, function(value, hdrs) {
$scope.alkalom = value;
// .resztvevok.push(jogas);
});
};
$scope.removeResztvevo = function(index) {
$scope.alkalom.resztvevok.splice(index, 1)
$scope.alkalom.$save();
};
});
여기서 로그 문을 볼 수 있습니다. 1 단계에서 첫 번째 로그가 실행됩니다. 그러나 로그가 전혀 실행되지 않습니다! 브라우저에서 여전히 위치 해시가 변경됩니다.
$ state.go를 다르게 사용해야합니까?