2016-10-01 5 views
0

다른 루트를 기반으로 페이지 제목을 변경할 수는 있었지만 변수가 그림에 올 때 막혔습니다.ngRoute를 사용하여 AngularJS에서 페이지 제목을 동적으로 변경합니다.

<title ng-bind="title"></title> 

코너 부분

var app = angular.module('myApp', ['ngRoute', 'ngAnimate', 'igTruncate']); 

app.config([ '$routeProvider', '$locationProvider', '$sceDelegateProvider', function($routeProvider, $locationProvider, $sceDelegateProvider){ 

$routeProvider 
    .when('/', { 
    controller: 'BaseController', 
    templateUrl: 'views/base.html', 
    title: 'Welcome to the Website' 
    }) 
    .when('/about', { 
    controller: 'AboutController', 
    templateUrl: 'views/about.html', 
    title: 'About Me' 
    }); 

}]); 

// change Page Title based on the routers 
app.run(['$location', '$rootScope', function($location, $rootScope) { 
    $rootScope.$on('$routeChangeSuccess', function (event, current, previous) { 
     $rootScope.title = current.$$route.title; 
    }); 

}]); 

이 완벽하게 잘 작동합니다. 그러나 이후, 나는 블로그를 만들고 있으며, 각 블로그 페이지는 다른 제목을 가져야합니다.

내 하나의 블로그 경로 나 경로에서 url param을 얻고 내 타이틀로를 CONCAT 할이

.when('/blog/post/:url', { 
     controller: 'PostController', 
     templateUrl: 'views/post.html', 
     title: 'Blog' 
     }) 

것 같습니다. 예를 들어 경로가 /blog/post/How-to-change-title-in-angularjs 인 경우 url 부분을 가져 와서 내 제목에 추가하여 다음과 같이 표시합니다. how-to-change-title-in-angularjs | 블로그

가능합니까?

+1

서비스 또는 컨트롤러 요청에서 데이터를 검색하는 루트 스코프 제목을 설정하십시오. – charlietfl

+0

@charlietfl 오류가 있습니다. 예제 코드를 제공 할 수 있습니까? – marukobotto

+0

시도한 것을 보여주고 무엇이 오류입니까? – charlietfl

답변

-2

당신은 각 문서에서 아래 체크 할 수있다 : https://docs.angularjs.org/api/ngRoute/service/ $ routeParams

을 당신은 백 엔드에서 제목을 전달할 수 있습니다. 백엔드가 없으면 컨트롤러 범위에 저장하는 것이 더 간단 할 수도 있습니다.

관련 문제