11

ユーザーがコントロールを介して選択したファイルの内容を読み取る角度を取得しようとしています<input type="file"。angular にはファイル アップロード コントロールのディレクティブがありませんが、次の呼び出しで簡単に修正できます$apply

function MyController($scope) {
  $('#myFile').on('change', function() {
    var that = this;
    $scope.$apply(function() { $scope.files = that.files });
  });
}

残念ながら、イベントが発生することはありません。セレクターが正しい DOM 要素を参照できないようです。セレクターが要素を見つけても、ファイルのリストは常に空です。これは、js コンソールをいじっても発生します。代わりに、DOM インスペクターには、そのプロパティの中にファイル リストがあります。

それは私を夢中にさせていますが、これまでのところそれを機能させる唯一の方法は、グローバル変数に割り当てるインライン イベント ハンドラーを使用することです。jqueryセレクターが別のアイテムを返すのはなぜですか? セレクターを混乱させるAngularのテンプレートコンパイルマンボジャンボはありますか?

4

3 に答える 3