私はこの HTML と jsRender テンプレートを持っています:
<div id="output"></div>
<script id="template" type="text/x-jsrender">
<ul>
{{for}}
<li>{{:name}} likes to wear {{:shirtColor}} shirts</li>
{{/for}}
</ul>
</script>
そして、私は次のようなJavaScript(jQuery)を持っています:
var data = [{
name: 'Dan Wahlin',
shirtColor: 'white'},
{
name: 'John Papa',
shirtColor: 'black'},
{
name: 'Scott Guthrie',
shirtColor: 'red'}
]
;
$('#output').html($('#template').render(data));
お気づきかもしれませんが、これはジョン・パパの例です。つまり、少し修正しました。しかし、それはうまくいきません。その理由は、{{for}} が {{for people}} であり、データ オブジェクトが次のようになっているジョンの例のように、jsRender が Json のルート オブジェクトを想定しているためです。
var data = { people: [{
name: 'Dan Wahlin',
shirtColor: 'white'},
{
name: 'John Papa',
shirtColor: 'black'},
{
name: 'Scott Guthrie',
shirtColor: 'red'}
]
}
;
私の ASP.NET MVC コントローラーでは、返された Json はルート オブジェクトではありません。どうすればこれを機能させることができますか? Json 形式を変更します (どうすればよいですか?)? または、jsRender コードで何か問題がありますか?
前もって感謝します!