Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 安格拉斯<;输入[类型=文件]>;ng模型不适用于Firefox/Safari/Chrome,但适用于IE_Javascript_Html_Angularjs_Model Binding - Fatal编程技术网

Javascript 安格拉斯<;输入[类型=文件]>;ng模型不适用于Firefox/Safari/Chrome,但适用于IE

Javascript 安格拉斯<;输入[类型=文件]>;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:

我有一个允许用户选择图像的选项。然后我有了选择图像应该显示的位置。它可以很好地工作,但是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: 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();
            });
          });
        }
      }
    })