在View中添加动态html而不使用compose

时间:2017-05-31 09:52:34

标签: aurelia aurelia-framework

我需要在自定义组件(footable)中添加一个html div元素。 由于组件是在运行时构造的,我无法在html中的任何地方使用compose,因此我必须使用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 个答案:

答案 0 :(得分:1)

我可能会以不同的方式来看待它。我使用jQuery的.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来创建元素时它是&# #39;使用是可以通过的。