사용자 지정 지시문을 만들었으므로 간단한 변수 바인딩을 수행하려고합니다. 데이터를 직접 설정하면 모든 것이 올바르게 표시되지만 쿼리를 사용할 때 데이터가 설정되지 않은 경우 콘솔 출력에 변수가 할당 되었음이 표시됩니다. 변수가 작동하지 않음을 바인딩합니다.
이
내 지시어입니다 :function tutorialCourse(){
return{
restrict: 'E',
templateUrl: 'app/tutorial/tutorialCourse.html',
controller: 'TutorialCourseController',
controllerAs: 'tutorial'
};
};
이 내 컨트롤러 :
<div class="panel panel-primary">
<div class="panel-heading">
<h4 class="panel-title">{{tutorial.course.title}} </h4>
</div>
</div>
이미의 값을 반환하려고 :
TutorialCourseController.$inject = ['$q', 'Course'];
function TutorialCourseController($q, Course){
this.course = {};
loadTutorial();
function loadTutorial(){
Course.query().$promise.then(function(courses){
this.course = _.first(courses);
console.log(this.course)
});
};
}
내 HTML은 정말 간단합니다 laodTutorial을 사용하고 함수 호출을 사용하여 코스 변수에 직접 할당하지만 작동하지 않습니다. 하지만 이렇게하면
this.course = {id: 11, title: "Tutorial"}
모두 정상적으로 작동합니다. 어떤 생각을 이해하지 못했거나 잘못하고있는 것입니까?
니스, 그런데 왜 결과 작업을 반환하지 않았다을 참조? 마찬가지로 this.course = loadTutorial(); 및 loadTutorial : return _.first (courses) – x3lq
@ x3lq 'loadTutorial' 함수로부터 약속을 반환 할 때만 작동합니다. 그리고'query' 함수가 해결되었을 때 그것을 해결하는 것을 잊지 마십시오. 그러나'ngResourece'는 응답 객체를 unwrap하기 때문에 Promise 객체가 될 것입니다. –
좋습니다. 그것을 들여다 봐야한다. – x3lq