参考问题File pick with Angular JS,在文件阅读器上加载时我想修改父范围的属性。考虑
$scope.fileLoaded = false; //initially
$scope.file_changed = function(element, $scope) {
$scope.$apply(function(scope) {
var photofile = element.files[0];
var reader = new FileReader();
reader.onload = function(e) {
$scope.fileLoaded = true; // I intend to do!
...
};
reader.readAsDataURL(photofile);
});
});
我如何为HTML实现这一目标:
<input ng-model="photo"
onchange="angular.element(this).scope().file_changed(this)"
type="file" accept="image/*" />
每次出错都失败无法设置未定义属性'fileLoaded'。
答案 0 :(得分:1)
一些事情。
ng-change
代替onchange。我在一段时间之前写了一个类似的指令,你可以在这里查看:https://github.com/jrowny/SpriteHero/blob/master/js/directives/file.js我之前写过这篇文章之前我确实知道角度很好,所以它可能有点凌乱。此外,它不直接使用文件字段,只是从随机链接调用。
如果你不早期掌握指令,那么Angular真是一团糟。否则就像你有一个只有几个梯级的梯子。