KnockoutJS действительно здорово использовать до сих пор, но я новичок в фреймворке. Я пытаюсь создать интерфейс с вкладками, например. 4 ссылки и общая область отображения. Нажатие на ссылку использует систему шаблонов для нокаутов и переключит шаблон. Это отлично работает, но я хочу добавить некоторую анимацию между переходом шаблона.Knockoutjs - Переходы между динамическим переключением шаблонов?
Как это сделать? Я немного читал об этом раньше, чем в Remove/afterAd, но это, похоже, применимо только к наблюдаемым массивам. Я знаю, что KnockoutJS поддерживает анимацию/пользовательские привязки (я использую их более прямо для других элементов на моей странице).
Если мой весь подход неверен, есть ли лучший способ сделать интерфейс с вкладками, чтобы легко получить переходы?
Вот мой код прямо сейчас.
HTML-:
<div class="Page">
<span data-bind="template: {name: current_page()}"></span>
</div>
<script type="text/html" id="Home">
<!-- Home content -->
</script>
<script type="text/html" id="Tab1">
<!-- Tab1 content -->
</script>
Javascript (KNOCKOUT в ViewModel):
this.current_page = ko.observable("Home")
//later on...
this.current_page("Tab1");
Будет ли чистый способ сделать это с помощью пользовательской привязки? Я видел привязки «fadeVisible» и «slideVisible», но проблема с их использованием в мастере/рабочем процессе заключается в том, что вы хотите показывать только новый шаблон после того, как текущий шаблон был скрыт. –
Отличный ответ и благодарность за jsFiddle. Я добавил немного простой логики переключения, поэтому вы можете продолжать нажимать кнопку, чтобы увидеть переход несколько раз, не перезагружая страницу. Обновлен jsFiddle здесь: http://jsfiddle.net/v3JMS/12/ – ClearCloud8
@ ClearCloud8, обновленные внешние ресурсы на этом [jsfiddle] (http://jsfiddle.net/v3JMS/52/) –