gpt4 book ai didi

javascript - "onchange"指令内的 Angular 回调

转载 作者:行者123 更新时间:2023-11-28 00:20:53 25 4
gpt4 key购买 nike

非常具体的问题,但为了重用:我正在尝试将 Angular 回调传递到 JavaScript 指令中......见下文。 (尝试通过 onchange 事件product.id)

$scope.fileNameChanged = function(folder, id){
console.log(folder + " " + id);
}
<div ng-repeat="product in products">
<form id="upload_form" enctype="multipart/form-data" method="post">
<span class="btn btn-default btn-file">
<span class="uploadButton">Choose...</span>
<input type="file" id="productsFile" onchange="angular.element(this).scope().fileNameChanged('products', product.id)" name="file">
</span>
</form>
</div>

控制台只显示Uncaught ReferenceError:product is not Defined,但我绝对知道product.id已定义,我已经完成了{{product.id}}在 ng-repeat 中只是为了显示文本,它看起来很好......

我不确定是否应该在 onchange 参数中使用 {{..}} 所以我尝试了 {{product.id}} 和得到错误:[$compile:nodomevents]

我使用 onchange 是因为 ng-change 不支持文件输入,或者根据我所读到的内容。

任何建议都绝对很棒,我并不是特别希望通过该回调获取product.id,而是任何 Angular 范围变量......

最佳答案

很抱歉回答我自己的问题,但这是我非常有效的解决方法!

我使用了元素的 Id 指令......

<span class="uploadButton">Choose...</span> <input type="file" id="{{product.id}}" onchange="angular.element(this).scope().fileNameChanged('products', this.id)" name="file">

并使用 this.id 获取它,现在作为通过 onchange="" 传递 Angular 范围的真正解决方案,我真的不认为这是明智的,但在本例中,我无论如何也不介意将其作为元素的 Id。

我希望这对其他人有用。

关于javascript - "onchange"指令内的 Angular 回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30037061/

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