为什么我必须使用$ timeout来更新Angular中的变量?

时间:2014-01-02 13:57:53

标签: angularjs angularjs-directive angularjs-timeout

我在指令中有一个指令。在最深刻的指示中我有这个:

指令B:

scope.onChange = function () {
    scope.ngModel = scope.selectedItem.Id;

    $timeout(function () {
        scope.changed();
    }, 0);
}

在该指令之上的指令中我有这个:

指令A:

scope.onChange = function () {
    console.log(scope.ngModel);

    scope.changed();
}

问题是,当我省略指令B中的timeout调用时,控制台会记录“旧”值,但是当我使用timeout调用时,一切都按预期工作。所以我的问题是,为什么我需要在这里使用timeout

0 个答案:

没有答案