0

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

指令 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 这里使用?

4

0 回答 0