Я обновляю 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]);
}
});