我在文件选择期间更新ngModel,当我尝试设置字符串值时,它正在正确更新。
scope : 'A',
require : 'ngModel',
link : function(scope, el, attr, ngModel) {
el.bind('change', function(e) {
scope.file = (e.srcElement || e.target).files[0];
scope.ngModel.$setViewValue(scope.file);
scope.ngModel.$render();
});
}
在保存页面时,我将把整个模型数据发送到服务器。此值正在变得未定义。
无法实现这一点,有什么解决办法吗
我确实在更改函数中添加了一个读取器,用于读取文件输入框的内容。这可能不是最优雅的解决方案,但它对我有效
el.bind('change', function (e) {
if (e.target.files && e.target.files[0]) {
var reader = new FileReader();
reader.onload = function (ev) {
// here is your data, add it to your model object
scope.ngModel.filesrc = ev.target.result;
};
reader.readAsDataURL(e.target.files[0]);
}
});