2017-05-31 77 views
0

我需要添加一个自定义组件(footable)内的html div元素。 由于组件是在运行时构建的,因此我无法在html中的任何位置使用组合,因此我必须使用jQuery添加我的元素。添加动态html而不使用撰写里面的视图

任何想法如何添加下面并绑定到ViewModel的方法? footable事件:

'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的.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(); 
} 

这是未经测试 - 但应该工作。

淡香水 - 这也是值得一说的是,在这种方式结合Aurelia大街和jQuery并不理想 - 但正如你使用jQuery反正创造它的使用是差强人意的元素。

+1

感谢它的工作! 至于jQuery和dAurelia,我同意,但我不打扰现在创建一个aurelia桥插件。 –