2016-10-01 11 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

サービスまたはコントローラー要求にrootscopeタイトルを設定してデータを取得する – charlietfl

+0

@charlietflエラーが表示されます。あなたは単にサンプルコードを与えることができますか? – marukobotto

+0

あなたが試したこととエラーは何ですか? – charlietfl

答えて

-2

あなたは、角のドキュメントから、以下のチェックがあります。 https://docs.angularjs.org/api/ngRoute/service/ $ routeParams

あなたは、バックエンドからタイトルを渡すことができます。 バックエンドがない場合は、コントローラーのスコープに格納する方が簡単です

関連する問題