2013年7月16日火曜日

jsrender 1.0preから1.0betaにバージョンアップした時に躓いたところ

javascriptテンプレートエンジンの一つであるJsRender
今日久しぶりにレポジトリを確認したら1.0betaにバージョンアップしてました。
今まで使っていたのが1.0pre。ただ jsrender.js を更新するだけでは使えず、コード側にもちょっと更新作業が必要でした。

ヘルパー

1.0preでは jsviews.helpers がヘルパー登録用メソッドだったのですが、1.0betaでは jsviews.views.helpers に移動しています。

// 1.0pre ----------
jsviews.helpers({
  fooHelper: function() {},
  barHelper: function() {}
});

// 1.0beta ----------
jsviews.views.helpers({
  fooHelper: function() {},
  barHelper: function() {}
});

カスタムタグ

1.0preではヘルパーと同様に登録用メソッドが jsviews.tags から jsviews.views.tags に移動しています。
また、1.0preではカスタムタグの描画メソッドも this.renderContent から this.tagCtx.render に変わっています。

// 1.0pre ----------
jsviews.tags({
  fooTag: function(param) {
    var ret = '';
    // カスタムタグのロジック…

    ret = this.renderContent(param);

    return ret;
  },
  barTag: functioN() {}
});

// 1.0beta ----------
jsviews.views.tags({
  fooTag: function(param) {
    var ret = '';    
    // カスタムタグのロジック…

    ret = this.tagCtx.render(param);

    return ret;
  },
  barTag: function() {}
});

とりあえず現時点で対応したのは上記の点のみ。
別件ですがjsrender.min.jsにバージョン番号つけてほしい…(jsrender-1.0beta.min.jsみたいに)