我正在使用AngularJS在WordPress上编写门户。我做了一些页面,我可以通过wp slug获得。这就是路由器的样子:
.when('/', {
template: '?async=1>',
controller: 'homeController',
controllerAs: 'works',
})
.when('/works', {
template: 'works/?async=1>',
controller: 'worksController',
controllerAs: 'works',
})
.when('/blog', {
template: 'blog/?async=1>',
controller: 'blogController',
controllerAs: 'blog',
})
// etc
我使用async
GET参数指示来自Angular的浏览器或模板请求的正常get请求。
现在问题是,我想在请求标题,元描述和其他一些模板时获取一些元数据。
也许使用一些自定义标头(如何以这种方式获取它们)?或者是否有可能以某种方式拦截响应,更改它并返回html进行渲染?
我知道,我可以使用隐藏的输入,但它不是最佳实践。
答案 0 :(得分:0)
也许这不是最好的方式,但我找到了解决方案。
我使用自定义指令,在链接时我只使用注入服务将数据传播到我需要的地方。
myApp.directive("metaData", ['metaService', function(metaService) {
return {
restrict: 'E',
link: function(scope, element, attrs) {
metaService.set({
title : attrs.title,
description: attrs.description
});
}
}
}]);
和指令:
<meta-data data-title="The title" data-description="The description"></meta-data>