2015-01-29 1 views
2

В принципе, я хочу сказать, если количество элементов больше, чем 1, сделайте что-нибудь, иначе сделайте что-нибудь еще.Как я могу определить условие длины массива в Dust?

Вот образец данных JSON:

"items": [ 
    { "key1" : "val1" }, 
    { "key2" : "val2" } 
    ] 

я могу получить размер элементов с помощью: {@size key=items}{.}{/size} Но проблема в том, где я хочу, чтобы поместить это внутри если состояние, похожее на:

{@if cond="1 < '{@size key='items' /}'"} Size was bigger than 1 {/if}

(что дает мне синтаксическую ошибку). К сожалению, документация не входит в детали и очень мало помогает.

+0

возможно дубликат [Использование dustjs как показать блок кода, когда пО размер массива больше, чем один] (Http: // станция ckoverflow.com/questions/17220800/using-dustjs-how-do-i-show-a-block-of-code-when-an-arrays-size-is-greater-than) – Interrobang

ответ

5

Вы можете получить доступ к длине массива с помощью arrayName.length, и вы можете использовать больше (@gt), меньше (@lt), больше или равно (@gte), меньше или равно (@lte), или равна (@eq) помощникам, чтобы сделать сравнение. В приведенном ниже примере показано, как проверить, если длина массива больше, чем 3.

{@gt key=items.length value=3}There are more than 3 items{/gt} 

Где данные будут выглядеть примерно так:

{ 
    items: [ 
    {name: 'a'}, 
    {name: 'b'}, 
    {name: 'c'}, 
    {name: 'dee'} 
    ] 
} 
0

В моем случае я хочу, чтобы отобразить только раздел если есть что-то есть: у меня есть список коллекции в product.hours

{@gt key=product.hours.length value=0} 
my stuff goes here 
{/gt} 

 Смежные вопросы

  • Нет связанных вопросов^_^