2

テンプレートをキャッシュすることで UI レンダリングのパフォーマンスが大幅に向上するため、dust.js テンプレートを使用したいという衝動に駆られました。

しかし、現在のプロジェクトでは angularjs を使用しています。Angular jsでdust.jsまたはその他のテンプレートエンジンを使用することも可能/賢明です??

Dust.js を使用しても、双方向バインディングは失われますか?

比較的大きなSPAを検討することを提案してください..?

PS私はAngularとDustの両方の初心者です。

4

1 に答える 1

1

filterの良い使用例のようですね!

Dust.js は非同期レンダラーであることに注意してください。ただし、既にすべてをロードしている場合、dust は同期的に起動します (ほとんどの場合) 。

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 s の出力 (html など)。

于 2014-02-06T02:10:24.267 に答える