等待角度完成更新DOM

The*_*One 3 javascript dom callback angularjs

我需要将引导日期选择器附加到将使用AngularJS生成的输入字段之一。

由于该元素尚不存在,因此无法执行以下操作:

$(function () {
    $(':input[name=dispense_date]').datepicker();
});
Run Code Online (Sandbox Code Playgroud)

相反,我必须这样做:

$(function () {
    setInterval(function () {
        $(':input[name=dispense_date]').datepicker();
    }, 200);
});
Run Code Online (Sandbox Code Playgroud)

后一种版本可以工作,但效率低下,而且并非完全做到这一点的“正确”方式。一切完成后,角度控制器/模块是否具有运行回调的方法?

我需要jquery代码在$ http.get()调用后运行,但是仅将其添加到.success()调用内并不能解决问题,因为$ apply尚未运行。

pix*_*its 6

使用$ timeout:

$timeout(function() {
    $(':input[name=dispense_date]').datepicker();
});
Run Code Online (Sandbox Code Playgroud)

Angular将确保超时功能在编译/链接阶段之后甚至在渲染阶段之后执行。