angular - Angular2'de jQuery eklentisi nasıl kullanılır? Eklenti çalışıyor ama DOM daha sonra güncelleniyor
Amacım, Angular2'de jQuery eklentisi uygulamak. Bu, jQuery.DataTable, bootstrap-select veya benzeri herhangi bir eklenti olabilir.
Yaptığım şey, servisten veri getirmek. Servis ajax isteği yapıyor. Veriyi select veya tabloya ngFor binding kullanarak bağlıyorum ve sonra uygun eklentiyi render etmek için jQuery eklenti fonksiyonunu (tanım dosyalarını kullanarak) çağırıyorum.
Buradaki sorun zaman farkı. İlk adımda veriyi bağlıyorum, ikinci adımda eklentiyi uyguluyorum ama bence bağlama biraz yavaş, bu yüzden eklentinin kodu gerçek bağlanan HTML render edilmeden önce çalışıyor. Bu bana sorun yaratıyor.
Örnek kod aşağıdadır:
private loadPermissionGroups() {
this.permissionManagerService.getPageData()
.subscribe(res => {
this.employeeList = res.Data.PageData.EmployeeList;
// applyDataTable jQuery code
},
null,
() => {
this.showLoading = false;
});
};
Lütfen önerin.
Cevap #1
Yönlendiriciyi de kullanabilirsiniz:
/**
* [Directive description]
* @param {"[custom-dropdown]"}} { selector [Directive for adding jQuery for select box]
*/
@Directive({
selector: "[custom-dropdown]"
})
/**
*[Class description]
*/
export class customDropdown implements AfterViewInit {
constructor(public el: ElementRef) {}
ngAfterViewInit() {
$(this.el.nativeElement).selectpicker();
}
}
Umarım bu sana yardımcı olur.
