xStol
December 9, 2017, 4:36pm
1
Предлагаю как-то дополнить работу routable tab:
Если это компонент, то не сработает в компоненте
pageInit()
Нет возможности отловить момент, когда содержимое данного таба будет загружено, Вешаю в
pageInit()
так:
$('#tab3').on('tab:show', function () {
или
$('#tab3').on('tab:mounted', function () {
Но они вызываются строго “до” показа контента данного таба, т.е. $$(…) работает с содержимым предыдущего таба.
xStol
December 9, 2017, 4:51pm
2
Немного поправлю 2й пункт:
код в событиях tab:monted и tab:show не позволяет работать с загруженным контентом. Сначала события, а потом же загрузка контента.
События tab:init и tab:mounted срабатывают всегда ПОСЛЕ того как контент в таб будет загружен:
$(document).on('tab:init', (e) => {console.log($(e.target).html())})
По поводу tabMounted
и tabInit
добавил чтобы работало в компоненте по аналогии с pageInit
, но тут достаточно будет использовать mounted
hook компонента
xStol
December 11, 2017, 2:45pm
4
nolimits4web:
init
Спасибо, я ошибся, tab:init после вызывается.
События tab:init и tab:mounted вызываются одновременно и после того как контент таба загружен. Они на самом деле синонимы и вызываются вместе https://github.com/framework7io/framework7/blob/master/src/modules/router/tab.js#L74