2016-09-16 7 views
0

각도 응용 프로그램에서 페이지 제목을 동적으로 설정하려고합니다. 이미 동적으로 하드 코딩 제목으로 작업 한 적이각도 uiRouter 데이터베이스 문서에서 페이지 제목 설정

은 상태

.state('faq-detail', { 
    url: '/faqs/:faqId', 
    templateUrl: 'client/faq/faq-detail.view.ng.html', 
    controller: 'FaqListCtrl', 
    data: { 
     title: 'Faq details' 
    } 
    }); 

를 기반으로하지만,이 경우, 질문 제목을 얻을, 페이지 타이틀로 데려 가고 싶다는 변경.

질문은 mongo 데이터베이스에서 왔고 나는 angular-meteor를 사용하고 있습니다.

.state('faq-detail', { 
    url: '/faqs/:faqId', 
    templateUrl: 'client/faq/faq-detail.view.ng.html', 
    controller: 'FaqListCtrl', 
    data: { 
     title: Faq.findOne({_id: $stateParams.faqId}).question 
    }, 
    resolve: { 
     theFaq: function ($meteor, $stateParams) { 
     return $meteor.subscribe('faq').then(function() { 
      return Faq.findOne({_id: $stateParams.faqId}); 
     }); 
     } 
    } 

나는이 시도했지만 아시다시피, $stateParamsdata.title 지역에 defiend되지 않습니다.

// ATEMPT TO SET THE TITLE DYNAMICALLY WITH THE QUESTION 
$scope.autorun(() => { 
    console.log($scope.getReactively('theFaq')); 
    if ($scope.theFaq) { 
    let faqTitle = $scope.getReactively('theFaq').question; 
    // $state.get('faq-detail').data.title = faqTitle; 
    $state.current.data.title = faqTitle; 
    } 
}); 

그러나이 대신 내가 같은 컨트롤러와 다른보기를로드 한 후 제목을 설정합니다

내가 해봤 다른 방법

이 하나입니다. 이제는 현재 방문한보기 대신 마지막으로 방문한보기의 제목이 있습니다.

상담자 각도 - 유성에 몽고 수집에서 반환 된 객체 키 값에서 페이지 제목을 설정하는 방법

?

답변

0

나를 위해, 당신이 원하는 것을 달성하는 가장 깨끗한 방법은 컨트롤러에서하는 것입니다. 예 :

angular.module('mymodule').controller('FaqListCtrl', function($stateParams, $window){ 
    let title = Faq.findOne({_id: $stateParams.faqId}).question; 
    $window.document.title = title; 
})