使用像dust.js这样的外部模板引擎或者任何其他的anjularjs是否可行/合理?

时间:2013-09-17 07:11:59

标签: javascript angularjs dust.js

我有这种使用dust.js模板的冲动,因为它通过缓存模板为UI渲染提供了更好的性能。

但在我目前的项目中,我们使用的是angularjs。甚至可能/明智地使用dust.js或任何其他具有角度js的模板引擎

即使我使用dust.js,我也会失去双向绑定..?

请建议考虑一个比较大的SPA ..?

P.S。我是角度和灰尘的新手。

1 个答案:

答案 0 :(得分:1)

听起来像filter的好用例!

请注意,dust.js是一个异步渲染器,但是如果你already loaded everything那么灰尘会同步发射(most of the time

app.module('yours',[]).filter('dustRender', function(){
  return function(input, templateName){
    var rendered;
    dust.render(templateName, input, function(err, out){
      if('string' === typeof out){
        rendered = out;
      }
      err && console.error('Dust rendering error!', err);
    });
    return rendered || input;
  };
});

模板

<span>{{ modelData | dustRender:'registered-dust-template' }}</span>

注意:Angular $sanitize的输出,如html。