У меня есть кнопка, как определено ниже.Кнопка повторного переключения Bootstrap после того, как Ember уже переключил его на повторную визуализацию
<button type="button"
class="btn btn-primary-outline {{if shouldBeActive "active"}}"
data-toggle="button"
{{action "makeActive"}}>MyButton</button>
makeActive
действие переключает shouldBeActive
свойство, которое вызывает кнопку, чтобы получить или потерять .active
класс, когда уголек повторно делает шаблон.
Это все замечательно ... за исключением того, что обработчик щелчка bootstrap.js для переключения класса кнопки .active
затем запускается после того, как Ember обновил DOM, в результате чего кнопка переключилась в неправильное состояние переключения.
Есть ли красноречивый способ исправить это? Моя единственная мысль, что я мог бы сделать что-то глупое, как ...
<button type="button"
class="btn btn-primary-outline {{if (xor shouldBeActive isFirstRender) "active"}}"
data-toggle="button"
{{action "makeActive"}}>MyButton</button>
... эффективно установить активное состояние на противоположное тому, что предназначено, и пусть самозагрузки переключить его на то, что подходит.
Вы должны решить, что должно обрабатывать этот клик. Зачем нужен обработчик щелчка Bootstrap? Если у вас есть обработчик щелчка Bootstrap, зачем вам нужен другой в Ember для переключения свойства? Похоже, вам нужно решить и переместить всю логику в 1 обработчик. –
@ DanielKmak У меня нет контроля над обработчиком щелчка Bootstrap; он существует внутри bootstrap.js. Bootstrap.js необходим для работы других компонентов бутстрапа, поэтому не следует избегать включения этого js-файла. – kjb
Что делать, если вы удалите: 'data-toggle =" button "'? –