2017-03-01 52 views
0

我正在用AngularJS写WordPress。我做了一些页面,我可以通过wp slug获得。这是路由器的样子:AngularJS ngRoute - 从模板请求获取额外的数据

.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参数来表示,从wheter浏览器或角模板请求其正常的GET请求。

现在的问题是,我想获取一些元数据时,请求像标题,元描述和其他一些模板。

也许使用一些自定义标题(如何获取它们)?或者是否有可能以某种方式拦截响应,修改它并返回html进行渲染?

我知道,我可以使用隐藏的输入,但它不是最好的练习。

回答

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>