私はちょうどjQuery templatesを使い始めました。jQueryテンプレートのカスタム関数で現在の要素にアクセスできますか?
私は、ドキュメントがまだ私のために答えることができなかったという質問があります。私のテンプレートがある
...
<script id="restaurant-review-template" type="text/x-jQuery-tmpl">
<li>
<span class="rating rating-${rating}">
${$item.getRating()}
</span>
</li>
</script>
...と私の呼び出しコードは...
$('#restaurant-review-template').tmpl(allRestaurants, {
getRating: function() {
// Is it possible to access the array element here?
// Ideally, if `this` was the current array member...
return new Array((this.rating || 0) + 1).join('*');
}
}).appendTo('#cont')
私のallRestaurants
の配列には、数字を含むrating
プロパティを持つオブジェクトがあります。
rating
プロパティの数字のアスタリスクのリストを返したいとします。たとえば、rating
プロパティが4
の場合、****
を出力したいとします。
私は何かのような...
allRestaurants = allRestaurants.filter(function(element) {
element.asterixes = new Array((element.rating || 0) + 1).join('*');
return true;
});
jsFiddleを行うことができます知っています。
...しかし、私はむしろテンプレートのためだけに余分なプロパティで配列をポーリングしません。
したがって、上記のようなカスタムテンプレート関数内では、現在の配列要素にアクセスする方法があります(私はconsole.log(this, arguments)
を実行して何も役に立ちませんでした)。
もしそうでなければ、これを達成する最もクリーンな方法は何ですか?
これはちょっと恥ずかしいことです。私はそれを逃した方法を知らない。ありがとう:) – alex