我需要将bootstrap datepicker附加到我将使用AngularJS生成的输入字段之一。
执行以下操作无效,因为该元素尚不存在:
$(function () {
$(':input[name=dispense_date]').datepicker();
});
相反,我必须这样做:
$(function () {
setInterval(function () {
$(':input[name=dispense_date]').datepicker();
}, 200);
});
后一版本有效,但效率低下,并不完全是“正确”的方法。角度控制器/模块是否有一种在一切完成后运行回调的方法?
我需要在$ http.get()调用之后运行jquery代码,但只是在.success()调用中添加它将无法解决问题,因为$ apply还没有运行。
答案 0 :(得分:4)
使用$ timeout:
$timeout(function() {
$(':input[name=dispense_date]').datepicker();
});
Angular将确保在编译/链接阶段之后甚至在渲染阶段之后执行超时功能。