2013-05-23 4 views
0

Я только что начал использовать dust.js. И я столкнулся с проблемой. Мне нужно указать условие (существование параметров json) в шаблоне. В зависимости от этого должен отображаться некоторый внутренний html или нет. Так, по описанию я должен использовать, как это л:Проверьте наличие нескольких параметров в dust.js

{?param_name} 
... 
{:else} 
{/param_name} 

Но мне нужно проверить сложное условие, поэтому я иду для логического помощника - {@If ..}. И получается, что я бы хотел использовать путь в состоянии. Так .. Результат выглядит:

{@if cond="{myObject.property1} || {myObject.property2} || {myObject.property3}"} 
.. 
{/if} 

И проблема в том, когда какое-то свойство не определено оценка останавливается на чем-л, как:

(true) ||() ||() 

производит синтаксическую ошибку.

Не могли бы вы рассказать, какой подход следует использовать для проверки наличия нескольких параметров?

Заранее спасибо

ответ

2

Предложенный способ

{@if cond="('{myObject.property1}'.length} && '{myObject.property1}') || ... 

Но я нахожу это довольно ужасно.

Я бы написал конкретный помощник, чтобы сделать это. Посмотреть код для @if - https://github.com/linkedin/dustjs-helpers/blob/master/lib/dust-helpers.js#L196

+1

Thanks Tom! Я начну с ужасного (= – godspeed

+0

@godspeed Godspeed!;) – pilau

+0

Указанная ссылка указывает на главную ветку. Это проблема, потому что номер строки устарел. На самом деле пыль больше не поддерживает '' '@ if''' –

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