私は以下のコードを持っています(下記参照)。ボタンをクリックしてファイルを選択すると、ビュー内のdata.myVarは変更されません。 (どういうわけか、コントローラーを踏んでいる間に$scope.data.myVar
が正しく更新されているのがわかります)。なぜこうなった?
HTML抜粋(それは以下コントローラ下の下にある):
{{data.myVar}}
<input type="file" onchange="angular.element(this).scope().setRuleFile(this)" />
JS:
angular.module('myModule')
.controller('MyCtrl', ['$scope', function ($scope) {
$scope.data = {
myVar: 'init'
};
$scope.setRuleFile = function(element) {
$scope.data.myVar = 'changed';
}
}]);
コンソールでエラーが発生しますか?あなたはこれを再現する簡単なデモを提供することができます。 – developer033
イベントは角度コンテキスト外ですので、ダイジェストを実行するには角度を指定する必要があります – charlietfl
@charlietfl:これはビューテンプレートであるhtmlファイルから抜粋したものであり、すべてのルーティングなどを貼り付けたくありませんでした。 onchangeまたは "file"タイプに関する事実。 – jazzblue