でファイルセレクタ私は喜んで今this questionAngularJs - ngのリピート
に解決する@雪だるまの回答から、ファイルセレクタを使用していますが、しかし、私はng-repeat
ループでそれを使用したい、とこだわっています。
私はその質問からソリューションをコピーするの自由を取る:
angular
.module('app.services')
.directive('fileChange', function() {
return {
restrict: 'A',
scope: {
handler: '&'
},
link: function (scope, element) {
element.on('change', function (event) {
scope.$apply(function(){
scope.handler({files: event.target.files});
});
});
}
};
});
<input type="file" file-change handler="fileSelect(files)">
$scope.fileSelect = function(files) {
var file = files[0];
var reader = new FileReader();
reader.onload = function(e) {
console.log("on load", e.target.result);
}
reader.readAsText(file);
}
私は写真だけでそのファイルを選択してきた$scope.fileSelect()
機能に指示するにはどうすればよいですか?
[更新] Aargh!私は疑問を十分にはっきりさせていないことに気付いた。 私はファイル名が必要ですとリピートのいくつかの他のデータ。ファイル名をとに入力したいとします。
だから、私はng-repeat
で、HTMLで、
$scope.image = {'fileName' : '',
'description' : ''};
$scope.images = []; // array of $scope.image
を宣言している、私は私はしないでください(のみ擬似コード)それは最後の<input>
だ
<ng-repeat image in images>
<input type="text" ng-model="image.description"/>
<input type="file" file-change handler="fileSelect(files)">
を持っていますコード方法を知っている。理想的には、image
オブジェクトをfile-change handler
関数に渡したいと考えています。
どうすればいいですか?念の誰で
[最終更新]すべてのは、この&はそれが面白い見つける読み込みます。
<ng-repeat image in images>
<input type="text" ng-model="image.description"/>
<input type="file" file-change handler="fileSelect(image , files)">
コントローラにimage
パラメータ、また$scope.fileSelect(image , files)
とを添加しました。 変更なしがディレクティブに必要であることに注意してください。私はいくつかの違いで右ここにしようと、それが働いている魅力
私はそのような神と詳細な答えを新しい人から見ていることはよくありません私は100ポイントのボーナスを授与しました。ありがとう。確かにうまくいくので、私はそれを自分のコードに適合させる方法を考えます。 – Mawg
ああ!私は疑問を十分にはっきりさせていないことに気付いた。アップデートをご覧ください。それが簡単な場合はお知らせください。さもなければ、私は新しい、より明確な質問を掲示するでしょう。私の謝罪と、私はまだシステムがそれを許可する2日であなたにボーナスを与えます – Mawg
あなたの助けを借りて、私はそれを得ました。答えを出すために質問を更新しました。 2日間であなたの恩恵を期待してください:-) – Mawg