有没有正确的"在Angular2 / Ionic2

时间:2017-03-04 16:36:24

标签: angular ionic2

在自定义组件中使用jQuery-Knob。经过大量搜索和尝试/未命中尝试之后,我能够初始化旋钮的唯一方法就是将jQuery函数包含在setTimeout内,并使用this来表示http://jsfiddle.net/9t5qapog/2/

constructor() {
    console.log('Hello SsdKnob Component');

    setTimeout(() => {
        $(".dial").knob();
    }, 0)
}

但是如果觉得有点hacky并且可能不稳定? (我不确定因为某种比赛条件我是否会遇到问题)。

有更好/推荐的方法吗?

我尝试过没有成功:

ionViewLoaded() {
     $(".dial").knob();

}

AfterViewInit() {
    $(".dial").knob();
}

1 个答案:

答案 0 :(得分:6)

AfterViewInit() {应该是

ngAfterViewInit() {

或者您也可以使用

ngAfterContentInit() {

在视图投影内容准备就绪后运行。

如果jQuery-Knob进行了一些异步初始化,这可能还不够。然后,您应该检查组件在完成初始化时是否发出事件。 setTimeout()应该是最后的选择。