我在指令中有一个指令。在最深刻的指示中我有这个:
指令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
?