Вы можете сделать это, установив атрибут в Coffescript вашего виджета, начав его с false
, и привязать функцию переключения, используя data-event-click
в вашем представлении. Это изменит значение вашего атрибута. Их вы помещаете то, что хотите показать и скрыть, в два контейнера и привязываете к ним этот атрибут, используя data-hideif='attributeName'
для контейнера, который вы хотите скрыть при вызове события клика в вашем виджете, и используя data-showif='attributeName'
для контейнера, который вы хотите показать при повышении событие щелчка.
Итак, ваш кофескрипт будет выглядеть примерно так:
class Dashing.ToggleableWidget extends Dashing.Widget
toggleDetails: ->
@set('showDetails', !@showDetails)
# you could still use accessor with:
# @accessor 'toggleDetails',
# get: -> @set('showDetails', !@showDetails)
# cache: false
#
# ... but it is not necessary, and using a normal function will solve your problem
ready: ->
@showDetails = false
И ваше представление станет чем-то вроде:
<div class="status-accounts" data-event-click="toggleDetails">
<div class="summary" data-hideif="showDetails" data-bind="summary"></div>
<div class="details" data-showif="showDetails">
<div class="account" data-foreach-account='accounts' data-bind-title='account.status'>
<span class="name" data-bind="account.account_name | append ' - '"></span>
<span class="status" data-bind="account.status | truncate 3, ''"></span>
</div>
</div>
</div>
При этом, когда ваш виджет будет отображаться (или повторно отображаться после изменения данных), он покажет ваш контейнер сводки, и если вы щелкнете, он покажет контейнер с вашими данными.
person
cefigueiredo
schedule
17.09.2014