Jquery angular 2引导数据选择器初始化
我在angular 2应用程序中使用bootstrap datepiker(),初始化时遇到一些问题 在我的组件中使用下面的方法是可行的,但不太好Jquery angular 2引导数据选择器初始化,jquery,twitter-bootstrap,angular,typescript,datepicker,Jquery,Twitter Bootstrap,Angular,Typescript,Datepicker,我在angular 2应用程序中使用bootstrap datepiker(),初始化时遇到一些问题 在我的组件中使用下面的方法是可行的,但不太好 ngAfterViewInit(): void { setTimeout(function() { $('.date').each(function() { console.log($(this)); $(this).datepicker({ format: 'dd.mm.yyy
ngAfterViewInit(): void {
setTimeout(function() {
$('.date').each(function() {
console.log($(this));
$(this).datepicker({
format: 'dd.mm.yyyy',
autoclose: true,
calendarWeeks: true,
language: 'de-DE',
todayHighlight: true
});
});
}, 1000)
}
有没有一种不超过1秒的超时时间的方法可以让它正常工作?如果没有超时,jQuery选择器不会返回任何内容,控制台中也没有输出。问题在于日期选择器位于*ngIf指令内
解决方案是将@ViewChildren与QueryList一起使用,并在QueryList更改后初始化(订阅更改事件)您是否偶然尝试了生命周期方法
nAfterViewChecked
?是的。这是可行的,但是ngAfterViewChecked经常被调用,所以我最终进行了很多不必要的初始化。如果我只在第一次调用ngAfterViewChecked时初始化,jQuery选择器似乎仍然找不到DOM元素。实际上,请尝试使用$(document).ready()在ngAfterViewInit
中执行setTimeout,而不是执行setTimeout。不幸的是,这不起作用,但这是个好主意。你还能显示你的html吗?