Spiri t kierownicy jest to, że jest "logiczne". Czasami sprawia to, że czujemy się, jakbyśmy z tym walczyli, i czasami kończymy z brzydką zagnieżdżoną logiką if/else. Możesz może napisać pomocnika; wiele osób wzbogaca kierownicę o "lepszy" operator warunkowy lub believe that it should be part of the core. Myślę jednak, że zamiast tego,
{{#if FriendStatus.IsFriend}}
<div class="ui-state-default ui-corner-all" title=".ui-icon-mail-closed"><span class="ui-icon ui-icon-mail-closed"></span></div>
{{else}}
{{#if FriendStatus.FriendRequested}}
<div class="ui-state-default ui-corner-all" title=".ui-icon-check"><span class="ui-icon ui-icon-check"></span></div>
{{else}}
<div class="ui-state-default ui-corner-all" title=".ui-icon-plusthick"><span class="ui-icon ui-icon-plusthick"></span></div>
{{/if}}
{{/if}}
może chcesz zorganizować rzeczy w swoim modelu tak, że można mieć to,
{{#if is_friend }}
<div class="ui-state-default ui-corner-all" title=".ui-icon-mail-closed"><span class="ui-icon ui-icon-mail-closed"></span></div>
{{/if}}
{{#if is_not_friend_yet }}
<div class="ui-state-default ui-corner-all" title=".ui-icon-check"><span class="ui-icon ui-icon-check"></span></div>
{{/if}}
{{#if will_never_be_my_friend }}
<div class="ui-state-default ui-corner-all" title=".ui-icon-plusthick"><span class="ui-icon ui-icon-plusthick"></span></div>
{{/if}}
Wystarczy upewnić się, że tylko jeden z tych flag jest zawsze prawdziwe. Możliwe, że jeśli używasz tego widoku w swoim widoku, prawdopodobnie używasz go również gdzie indziej, więc zmienne te mogą nie być zbyteczne.
Zachowaj szczupłą sylwetkę.
Miej oko do aktualizacji kierownice, wydaje się to być realizowane szybko: https: //github.com/szczęats/handlebars.js/pull/892 –