AngularJs绑定在指令中延迟

AngularJs绑定在指令中延迟,angularjs,binding,directive,Angularjs,Binding,Directive,请看小提琴: 当您按下输入中的任意键或单击选项时(所有时间,今天),将在绑定完成之前调用apply方法 如何修复此问题?添加$timeout以等待$digest完成。检查工作演示: 暗示 不要像apply那样使用函数名,以防与内置函数$apply混合使用,您不需要使用$scope.apply()因此,apply()不是$apply:作用域:{…apply:“&fApply”},尽管它不是相同的方法。很高兴知道我可能错误地覆盖了一个角度方法。它有效!:我还将初始范围中的方法重命名为“applyM

请看小提琴:

当您按下输入中的任意键或单击选项时(所有时间,今天),将在绑定完成之前调用apply方法


如何修复此问题?

添加
$timeout
以等待
$digest
完成。检查工作演示:


暗示
不要像
apply
那样使用函数名,以防与内置函数
$apply

混合使用,您不需要使用
$scope.apply()
因此,
apply()
不是
$apply
作用域:{…apply:“&fApply”}
,尽管它不是相同的方法。很高兴知道我可能错误地覆盖了一个角度方法。它有效!:我还将初始范围中的方法重命名为“applyMethod”,并在使用您的建议进行链接时创建一个新的“apply”方法。这样,在html中直接调用“apply”也将等待$diggest
$scope.setDates = function(initialDate, finalDate) {
    $scope.initialDate = initialDate;
    $scope.finalDate = finalDate;
    $scope.apply();
};
app.directive("dateFilter", ['$timeout', function ($timeout) {
    ...
    $timeout(function () {
        $scope.apply();
    });