ng-file-upload получает TypeError: незаконный вызов с помощью ngf-drop

TypeError: Illegal invocation возникает при добавлении $watch с objectEquality, установленным в true, в модели, которая содержит свойство файла(ов), используемое ngf-drop.

Также, как сообщается здесь.

Как я могу $watch модель без этой ошибки?


person marco alves    schedule 16.08.2015    source источник
comment
может быть, это проблема глубокого просмотра ="ng file upload получает незаконный вызов typeerror с помощью ngf drop"> stackoverflow.com/questions/32034831/   -  person kenberkeley    schedule 03.01.2016


Ответы (2)


Я должен сказать, никогда не пытайтесь глубоко наблюдать за сложным объектом, что означает:

$scope.$watch('aComplexObject', function(newVal, oldVal) {
    // ...
}, true); // <<< this 'true' may cause the error.
person kenberkeley    schedule 03.01.2016

Решено без использования отдельной переменной области видимости для файлов.

Вместо $watchобработки модели я $watchобработал функцию, которая возвращает Json.stringify(model) -- с objectEquality true.

Это работает и, похоже, не вредит производительности видимым для пользователя образом.

person marco alves    schedule 16.08.2015