我必须在自定义组件中使用jQuery-Knob.经过大量的搜索和尝试/未命中尝试之后,我能够初始化旋钮的唯一方法是将jQuery函数包含setTimeout在0秒内,就像这个答案所说的那样.
constructor() {
console.log('Hello SsdKnob Component');
setTimeout(() => {
$(".dial").knob();
}, 0)
}
Run Code Online (Sandbox Code Playgroud)
但是,如果感觉有点hacky并且可能不稳定?(我不确定因为某种比赛条件我是否会遇到问题).
有没有更好/推荐的方法来做到这一点?
我试过没有成功:
ionViewLoaded() {
$(".dial").knob();
}
Run Code Online (Sandbox Code Playgroud)
和
AfterViewInit() {
$(".dial").knob();
}
Run Code Online (Sandbox Code Playgroud)
AfterViewInit() { 应该
ngAfterViewInit() {
Run Code Online (Sandbox Code Playgroud)
或者你也可以使用
ngAfterContentInit() {
Run Code Online (Sandbox Code Playgroud)
在视图和预计内容准备就绪后运行.
如果进行了jQuery-Knob一些异步初始化,这可能还不够.然后,您应该检查组件在完成初始化时是否发出事件.setTimeout()应该是最后的手段.
| 归档时间: |
|
| 查看次数: |
89 次 |
| 最近记录: |