JQuery TMPL доступ к подэлементам в массиве Nestd - PullRequest
1 голос
/ 15 декабря 2011

Я использую плагин jQuerys "tmpl" для шаблонов.Теперь у меня есть массив с элементами, которые также являются массивами, и мне нужно получить доступ к определенным элементам.

то есть массив будет:

var arr = {
  'id':23422,
  'title':'example',
  'images': {'small':'34fge.jpg','original':'dfsdf354.jpg'}
};

А теперь в храме я бы хотелполучить доступ к arr [images] [small], но это не работает.То, что я пытаюсь это:

<div>
  <h3>${title}</h3>
  <img src="${arr}{images}{small}" />
</div>

Кто-нибудь помощь / идеи?

1 Ответ

2 голосов
/ 15 декабря 2011

Используйте <img src="${images.small}" />, который даст следующую разметку:

<div>
  <h3>example</h3>
  <img src="34fge.jpg">
</div>

Фактически, свойство images не является вложенным array, а object со свойствами.

Но если вы действительно хотите пройти через вложенный массив, то вам следует использовать вложенный шаблон и немного изменить синтаксис (обратите внимание на свойство [] around images):

Javascript

var arr = {
    'id': 23422,
    'title': 'example',
    'images': [
        { 'small': '34fge.jpg', 'original': 'dfsdf354.jpg' },
        { 'small': '35fge.jpg', 'original': 'dfsdf.jpg' }
    ]
};

Шаблоны

<script id="template" type="text/x-jquery-tmpl">
   <div>
     <h3>${title}</h3>
     {{tmpl(images) "#imagesTemplate"}}
   </div>
</script>
<script id="imagesTemplate" type="text/x-jquery-tmpl">
     <img src="${small}" />
     <img src="${original}" />
</script>
...