动态更新AngularJS单页面应用程序中的元标记
问题描述:
我想弄清楚如何动态更新angularjs单页面应用程序中的元标记。我已经想通了如何使用做了标题标签:动态更新AngularJS单页面应用程序中的元标记
myApp.run(function($location, $rootScope) {
$rootScope.$on('$routeChangeSuccess', function (event, current, previous) {
$rootScope.title = current.$$route.title;
});
});
和
<title ng-bind="title">myApp</title>
和
$routeProvider.when('/', {
templateUrl : '/pages/home.html',
controller : 'homeController',
title: 'the home page'
})
但是很为难如何将其扩展到meta标签。
答
我认为你可以使用resolve这样
app.js
var app = angular.module('plunker', ['ngRoute']);
app.config(function($routeProvider){
$routeProvider
.when('/', {
templateUrl : 'home.html',
controller : 'homeController',
resolve : {
pageTitle : function(){
return {'title':'Home Page Title.'}
}
}
})
});
app.controller('homeController', function($scope, pageTitle){
$scope.title = pageTitle.title
});
home.html的
<title ng-model="title"></title>
这里是工作plunker但你需要