Как установить объект файла как ngModel, используя $ setViewValue (file)

0

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

При сохранении страницы я буду отправлять всю модель данных на сервер. Это значение становится неопределенным.

Не могу этого добиться, есть ли какая-нибудь работа вокруг

Теги:
angularjs-directive

1 ответ

0

Я добавил читателя в мою функцию изменения, которая читает содержимое поля ввода файла. Это может быть не самое элегантное решение, но это сработало для меня.

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]);
    }
});
  • 0
    Спасибо ... я сделал то же самое :) но мне нужно было установить файл
  • 0
    что вы имеете в виду, когда говорите "мне нужно установить файл"?
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню