라는 주가 home.test
있습니다. 이 상태에서 템플릿 _movie-info.html
을 뷰에 삽입합니다 .
.state('home.test',{
params: {
value: null
},
url: '',
views: {
"test":{
templateUrl: '../assets/angular-app/templates/_movie-info.html',
controller: function($scope, $stateParams, $state) {
$scope.movie = $stateParams.value
console.log ($scope.movie)
}
}
}
})
$scope.movie
뷰 컨트롤러에서 호출되는 범위를 만들고 ui-sref
작업 에서 전달 된 값을 삽입합니다 . home.test
상태에 들어가면 콘솔 로그에 표시됩니다.
{"id":7,"title":"Batman v Superman: Dawn of Justice","release_date":"2016-03-24","image":"/eJrlh2g9UGAd7R6mQAOQIIs329H.jpg","user_id":null,"created_at":"2015-12-07T15:17:47.287Z","updated_at":"2015-12-07T15:17:47.287Z","movie_id":"209112","imdb_rating":"N/A","backdrop":"/4YxoxVGu93ta0H4u0B98niGIUAu.jpg"}
그러나 데이터를 사용하려고하면 작동하지 않습니다. 나는 value
개체를 가져 와서 삽입하기 때문 $scope.movie
입니까?
movie title: {{ movie.title }}
내 스코프에 대한 모델을 이렇게 만들면
$scope.movie = {title: 'something cool'}
다음과 같이 표시되는 콘솔 로그,
Object {title: "something cool"}
그리고 {{ movie.title }}
작품.
* 편집하다 *
문제는 $stateParams
데이터를 반환하는 방법이라고 생각합니다 . 내가 사용 $stateParams.value
하면 문자열을 반환합니다. 그냥 사용 $scope.movie = $stateParams
하면 객체가 반환되지만 이상해 보입니다.
Object{
value: "{"id":7,"title":"Batman v Superman: Dawn of Justic…A","backdrop":"/4YxoxVGu93ta0H4u0B98niGIUAu.jpg"}"
}
value: "{"id":7,"title":"Batman v Superman: Dawn of Justice","release_date":"2016-03-24","image":"/eJrlh2g9UGAd7R6mQAOQIIs329H.jpg","user_id":null,"created_at":"2015-12-07T15:17:47.287Z","updated_at":"2015-12-07T15:17:47.287Z","movie_id":"209112","imdb_rating":"N/A","backdrop":"/4YxoxVGu93ta0H4u0B98niGIUAu.jpg"}"
편집에서 이미 눈치 채셨 듯이-데이터 $stateParams.value
는 유형입니다 string
-컨트롤러의 코드를 다음과 같이 변경하십시오.
$scope.movie = JSON.parse($stateParams.value);
콘솔 출력에 'Object'도 표시되는지 확인합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다