環境:
Angular1.0.5、1.1.2で試行
問題:
私の双方向バインディングはビューをすぐには更新しません。ブラウザーに反映されるようにするには、$scope.is_pic セッターの後に $scope.$apply を呼び出す必要があります。
写真をアップロードし、ファイル入力がファイル名を反映していることを確認します。上のテキスト ボックスに入力すると、ng-model で $digest が呼び出され、魔法のようにブラウザーがコントローラーにあったものに更新されます。
「if」ステートメントを次のように更新した場合:
if (e.target.result.indexOf('data:image') !== -1) {
$scope.apc.is_pic = true;
return $scope.$apply();
} else {
$scope.apc.is_pic = false;
return $scope.$apply();
}
突然機能することがわかります。なぜこれが失敗するのですか?
注: javascript は coffeescript によって生成されたもので、見栄えが良い理由です。