gpt4 book ai didi

AngularJS错误: [$compile:nonassign]

转载 作者:行者123 更新时间:2023-12-02 11:30:09 24 4
gpt4 key购买 nike

我从我编写的自定义指令中收到此错误:

Error: [$compile:nonassign] http://errors.angularjs.org/1.2.16/$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

file-upload.js (oFReader.onload file-upload.js:81) 第 81 行指令代码为:

scope.fileUploadImage = attachment;
scope.fileUploadLoading = false;

scope.$apply(); //line 81

scope.fileUploadCallback();

这是我在 View 文件中调用该指令的位置:

<div file-upload
file-upload-image="fileAttachment"
file-upload-loading=""
file-upload-error="errors"
file-upload-limit="1048576"
file-upload-callback="attachFile()"
class="field">

代码工作正常,但我似乎无法摆脱这个错误。有什么帮助吗?

最佳答案

AngularJS 中显示的链接您可以 actually go to ,在这种情况下,当您转到错误描述页面时,它会显示

Expression '' used with directive 'fileUpload' is non-assignable!

该指令正在执行

scope.fileUploadLoading = false;

但是,您没有将范围变量传递给 file-upload-loading 属性:

file-upload-loading=""

这意味着它在指令中分配值,然后应用更改,AngularJS 发现更改并执行双向数据绑定(bind),结果发现它没有地方存储 false 值,因为属性上没有给出变量。实际上,它试图将 false 赋给空。

要消除错误消息,您可以做的就是添加一些未使用的属性:

file-upload-loading="iDontEvenUseThis"

甚至永远不要看它,或者该指令可能允许您完全省略该属性,但这取决于指令的实现。

关于AngularJS错误: [$compile:nonassign],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24194356/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com