Błąd AngularJS: [$ Compile: Nonassign]
Otrzymuję ten błąd z niestandardowej dyrektywy, którą napisałem:
Error: [$compile:nonassign] [url=http://errors.angularjs.org/1.2.16/]http://errors.angularjs.org/1.2.16/[/url]$compile/nonassign?p0=&p1=fileUpload
at Error (native)
(anonymous function) angular.js:9778
(anonymous function) angular.js:7216
h.$digest angular.js:12270
h.$apply angular.js:12516
oFReader.onload file-upload.js:81
Kod dyrektywy w linii 81 pliku file-upload.js (oFReader.onload file-upload.js: 81) to:
scope.fileUploadImage = attachment;
scope.fileUploadLoading = false;scope.$apply();//line 81scope.fileUploadCallback();
Oto miejsce, w którym nazywam dyrektywę w moim pliku widoku:
<div file-upload
file-upload-image="fileAttachment"
file-upload-loading=""
file-upload-error="errors"
file-upload-limit="1048576"
file-upload-callback="attachFile()"
class="field">
Kod działa jak wyjątek, ale nie mogę pozbyć się tego błędu. Czy ktoś pomoże?
Nie znaleziono powiązanych wyników
Zaproszony:
Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się
2 odpowiedzi
Anonimowy użytkownik
Potwierdzenie od:
naprawdę może iść
https://docs.angularjs.org/err ... pload, w tym przypadku, gdy przejdziesz do strony z opisem błędu, powie
Wyrażenie „używane z dyrektywą„ fileUpload ”nie jest przypisane!
Dyrektywa sprawia
Jednak zmienna zakresu nie została przekazana do atrybutu :
Oznacza to, że przypisuje wartość w dyrektywie, a następnie stosuje zmiany, AngularJS zauważa zmiany i wykonuje dwukierunkowe wiązanie danych tylko po to, aby stwierdzić, że nie ma gdzie przechowywać wartości , ponieważ zmienna nie został ustawiony w atrybucie. W gruncie rzeczy próbuje przypisać kłamstwa do niczego.
Co możesz zrobić, aby pozbyć się komunikatu o błędzie, albo dodawanie nieużywanej nieruchomości:
I nawet nie patrzeć na niego, a może dyrektywa może umożliwić na ogół pominięcie atrybutu, chociaż zależy od wykonania dyrektywy.
Anonimowy użytkownik
Potwierdzenie od:
<div class="snippet-code">
<div class="snippet" data-hide="false" data-lang="js">
<pre class="snippet-code-js lang-js prettyprint-override">
Przykład użycia:
<div class="snippet-code">
<div class="snippet" data-hide="false" data-lang="js">
<pre class="snippet-code-js lang-js prettyprint-override">
Mam nadzieję że to pomoże.