我有这种使用dust.js模板的冲动,因为它通过缓存模板为UI渲染提供了更好的性能。
但在我目前的项目中,我们使用的是angularjs。甚至可能/明智地使用dust.js或任何其他具有角度js的模板引擎
即使我使用dust.js,我也会失去双向绑定..?
请建议考虑一个比较大的SPA ..?
P.S。我是角度和灰尘的新手。
答案 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。