2016-05-17 6 views
0

AngularJS von Controller dynamisch Meta Titel Beschreibung aktualisierenWie kann der Titel und die Beschreibung dynamisch vom jeweiligen Controller aktualisiert werden?

app.config(
      function($routeProvider, $locationProvider, ngMetaProvider){ 
       $routeProvider. 
        when('/',{ 
         templateUrl:'js/partials/s1.html', 
         controller:'HomeController', 

         meta: { 
          title: 'title1', 
          description: 'description12' 
         } 
        }). 
        when('/:id/:id', { 
         templateUrl: 'js/partials/site2.html', 
         controller: 'SinglePostController', 

         meta: { 
          title: 'title2', 
          description: 'description2' 
         } 
        }). 
        otherwise({ 
         redirectTo:'/', 
         controller:'HomeController', 
         templateUrl:'js/partials/home.html' 
        }); 
        $locationProvider.html5Mode(true);//.hashPrefix('!'); 

     }); 

der obige Code ist meine Config, ich möchte aktualisieren, um die

meta: { 
    title: 'title2', 
    description: 'descrtion2' 
} 

wie den Titel und eine Beschreibung von dem jeweiligen Controller zu aktualisieren, jede Hilfe

+0

Viele Beispiele hier schreiben: http://stackoverflow.com/questions/12506329/how-to-dynamically-change -head-based-on-angularjs-Teilansicht – shammelburg

Antwort

0

Definieren Sie einen Controller für Head-Tag. in diesem Controller:

app.controller('headController', ['$scope', '$route', function ($scope, $route) { 

    $scope.$on('$routeChangeSuccess', function (scope, next, current) { 
       $scope.title = $route.current.meta.title; 
       $scope.description = $route.current.meta.description; 
      }); 
}]); 

und im Kopfbereich Ihrer Seite einfach

<meta name="description" content="{{description}}" /> 
Verwandte Themen