0

テンプレートによって設定された JavaScript オブジェクトをヘルパー関数に渡したいだけです。ヘルパー オブジェクトをループに渡すことに関する会話を見てきましたが、次の例に直接対処するものは見つかりませんでした。

<script type="text/javascript">
    // an object set by the template
    var SomeObject = {};
    SomeObject.Id=6;
</script>
<script id = "SomeTemplate" type="text/html">
    <div id="somegroup_{{>Id}}" class="main">
        <img id="somegroup_img_{{>Id}}" class="mainImg" src="{{: ~fltrOAMnImgs_hlp(Images, SomeObject)}}"> 
    </div>
</script>

上記の現在のコードは、ヘルパー関数に SomeObject を渡しません。新しいjsrender libでこれを行うにはどうすればよいですか?

4

1 に答える 1

0

SomeObjectテンプレート内でへのアクセスを提供する場合は、そのオブジェクトをヘルパーとして渡す必要があります。すべてのテンプレートでグローバルに使用できるようにするか、このテンプレートだけで使用できるようにするか、この render() 呼び出しだけで使用できるようにするかによって、いくつかの方法があります。参照:ヘルパー、コンバーター、タグの登録の下の $.views.helpers() トピック...

たとえば、「myObject」などの名前を使用して render 呼び出しで渡す場合:

myTemplate.render(myData, {myObject: SomeObject});

次に、次のように参照できます~myObject

<img ... src="{{: ~fltrOAMnImgs_hlp(Images, ~myObject)}}">

この関連する回答も参照してください: Trying to run a function on an array in a, for loop, using jsrender

于 2013-11-12T01:25:48.013 に答える