避免使用ng-include,同时允许灵活地渲染子模板

时间:2017-06-14 20:39:59

标签: javascript angularjs json templates

我有一个被视为"博客文章"例如。包含数据的单个内容。我创建了一堆模板,可以使用我的博客"中的ng-include进行渲染。模板。

举几个例子:

  • 博客内容(标题,作者等)
  • 相关文章
  • 作者信息
  • 电子邮件注册
  • (无限多种可能性)

由于某些原因,我无法将这些硬编码到模板中。

  1. 每个部分都需要能够以任何顺序呈现(顺序取决于JSON)
  2. 所有这些选项都必须是可选的
  3. 通常情况下,我会在角度模板中使用某种foreach循环,并通过ng-include有条件地加载每个模板,但我读过这可能会有很大的性能影响。

    使用Angular 1.6.4和组件解决此问题的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

使用函数决定包含哪个模板怎么样?这是一个非常通用的例子。

<div ng-include="vm.getTemplate(myVar)">

</div>

功能

vm.getTemplate = function(myVar) {
   //logic to decide template
   return '../templates/someTemplate.html';
}