Closed punund closed 11 years ago
Interesting feature... I will have to think about this... my initial reaction is that it's almost more confusing syntax than simply adding a - if(users.length > 0) .... else ....
block.
This may be more confusing. On the other hand, writing
- if (users.length > 0)
table
foreach users as user
tr
td= user.name
- else
p No users
versus
foreach users as user
tr
td= user.name
enclose
table
else
p No users
indents two levels deeper, uses visually bad "non-blade" if, and evaluates collection twice, which is not very DRY and may confuse too :scream:
I like your idea... just not the syntax proposed, especially the enclose
keyword. My opinion only... I think the extra indenting improves readability even though it is, perhaps, more verbose.
I think I will close this issue for now, but if you have any other ideas, I'd certainly welcome them.
I suggest the following feature for
foreach
: alognside withelse
block which is rendered when collection is empty, there may be:header
block, which is executed before iterating over collectiontrailer
block, which is executed after iterating over collectionenclose
block, rendering aroundAll of those are run only if the collection is not empty:
I don't know how hard to implement and/or useful this would be, but almost every collection has a custom rendering depending on whether it's empty or not.