Javascript 安格拉斯<;输入[类型=文件]>;ng模型不适用于Firefox/Safari/Chrome,但适用于IE
我有一个允许用户选择图像的选项。然后我有了选择图像应该显示的位置。它可以很好地工作,但是IE,但是当涉及到chrome、firefox和safari时,绑定到ng模型的属性不会更新。看起来这3个浏览器不支持input type=file中的ng模型 .cshtmlJavascript 安格拉斯<;输入[类型=文件]>;ng模型不适用于Firefox/Safari/Chrome,但适用于IE,javascript,html,angularjs,model-binding,Javascript,Html,Angularjs,Model Binding,我有一个允许用户选择图像的选项。然后我有了选择图像应该显示的位置。它可以很好地工作,但是IE,但是当涉及到chrome、firefox和safari时,绑定到ng模型的属性不会更新。看起来这3个浏览器不支持input type=file中的ng模型 .cshtml <img alt="Cannot load image" class="img-rounded" id="image" ng-src="convertToBase64(data.ImagePath)" style="width:
<img alt="Cannot load image" class="img-rounded" id="image" ng-src="convertToBase64(data.ImagePath)" style="width: 150px; height: 150px; object-fit: contain;" />
<input accept="image/*" id="chooseImage" type="file" ng-model="data.ImagePath"/>
很抱歉,input type=file中不支持ng模型,但您可以执行一个为您执行此操作的指令。这并不是您想要的,但这是我用于验证文件输入的实际指令。。。也许对你有帮助
/*
validFile
properly updates the form validation model for input[type=file]
*/
.directive('validFile',function(){
return {
require:'ngModel',
link:function(scope,el,attrs,ngModel){
//change event is fired when file is selected
el.bind('change',function(){
scope.$apply(function(){
ngModel.$setViewValue(el.val());
ngModel.$render();
});
});
}
}
})