Добавить динамический HTML, не используя compose внутри View
Мне нужно добавить элемент HTML HTML внутри пользовательского компонента (Footable). Поскольку компонент создается во время выполнения, я не могу использовать compose нигде в html, поэтому я должен добавить свои элементы, используя jQuery.
Любые идеи, как я могу добавить ниже и привязать к методу ViewModel? Подходящее событие:
'postinit.ft.table':function(e,ft){
$('.footable-filtering .form-inline').append('<div class="form-group"><a
href="#" click.delegate="refreshNow()" class="btn btn-primary"><i class="fa
fa-refresh"></i></a></div>');
}
1 ответ
Я, наверное, пришел к этому по-другому. Я бы использовал JQuery's .on
обработчик, чтобы прикрепить слушателя к .footable-filtering
элемент, видя, как кажется, присутствует с самого начала;
'postinit.ft.table':function(e,ft){
$('.footable-filtering .form-inline').append('<div class="form-group"><a
href="#" click.delegate="refreshNow()" class="btn btn-primary refreshButton"><i
class="fa fa-refresh"></i></a></div>');
}
$('.footable-filtering').on('click', '.refreshButton', (e) => {
e.preventDefault();
this.refreshNow();
}
Это не проверено - но должно работать.
Edt - Стоит также сказать, что комбинирование Aurelia и jQuery таким образом не является идеальным, но, поскольку вы все равно используете jQuery для создания элемента, который он использует, сносно.