AngularJS ngRoute - 从模板请求中获取其他数据

时间:2017-03-01 07:58:17

标签: javascript angularjs wordpress

我正在使用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进行渲染?

我知道,我可以使用隐藏的输入,但它不是最佳实践。

1 个答案:

答案 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>