Javascript Can';使用ngRepeat和ng src时,看不到要上载的图像预览
我已经为我的问题创造了一个新的解决方案 我正在使用HTML5Javascript Can';使用ngRepeat和ng src时,看不到要上载的图像预览,javascript,angularjs,file-upload,ng-repeat,filereader,Javascript,Angularjs,File Upload,Ng Repeat,Filereader,我已经为我的问题创造了一个新的解决方案 我正在使用HTML5FileReader和Angular创建一个简单的多文件上传,并预览要上传的图像 问题: 我没有在ng repeatspan中获取所选图像。但是,当我将其注销到控制台时,我确实获得了正确的图像数据。。。我做错了什么 HTML: Javascript: var app = angular.module("my.app", []); app.controller("FileUploadController", function($scop
FileReader
和Angular创建一个简单的多文件上传,并预览要上传的图像
问题:
我没有在ng repeat
span中获取所选图像。但是,当我将其注销到控制台时,我确实获得了正确的图像数据。。。我做错了什么
HTML:
Javascript:
var app = angular.module("my.app", []);
app.controller("FileUploadController", function($scope) {
$scope.images = [];
$scope.upload = function() {
var files = document.getElementById("files").files;
if (files) {
for (i = 0; i < files.length; i++) {
if (files[i]) {
var reader = new FileReader();
reader.onload = function (e) {
console.log(e.target.result);
$scope.images.push(e.target.result);
}
reader.readAsDataURL(files[i]);
}
}
}
};
})
var-app=angular.module(“my.app”,[]);
app.controller(“FileUploadController”,函数($scope){
$scope.images=[];
$scope.upload=函数(){
var files=document.getElementById(“文件”).files;
如果(文件){
对于(i=0;i
具有相同的工作实现
<div ng-repeat="x in images">
<img class="thumb" ng-src="{{x}}" />
$scope.images=[];
$scope.imageUpload=函数(事件){
var files=event.target.files;//文件列表对象
对于(var i=0;i
尝试$scope.$apply()
当您像下面这样修改集合时
reader.onload = function (e) {
console.log(e.target.result);
$scope.images.push(e.target.result);
$scope.$apply();
}
最好是将代码包装在
$scope.apply
中,还是以后只调用$scope.apply()
?两者都有效。。。
<div ng-repeat="x in images">
<img class="thumb" ng-src="{{x}}" />
$scope.images = [];
$scope.imageUpload = function(event){
var files = event.target.files; //FileList object
for (var i = 0; i < files.length; i++) {
var file = files[i];
var reader = new FileReader();
reader.onload = $scope.imageIsLoaded;
reader.readAsDataURL(file);
}
$scope.imageIsLoaded = function(e){
$scope.$apply(function() {
$scope.images.push(e.target.result);
});
}
}
reader.onload = function (e) {
console.log(e.target.result);
$scope.images.push(e.target.result);
$scope.$apply();
}