我在指令中有一个指令。在最深的指令中,我有这个:
指令 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
这里使用?