gpt4 book ai didi

AngularJS:将 ng-model 绑定(bind)到 input[type=file] 引发 'no longer usable' 异常

转载 作者:行者123 更新时间:2023-12-04 21:17:25 24 4
gpt4 key购买 nike

使用此代码:

<!doctype html>
<html lang="en" ng-app="app">
<head>
<meta charset="UTF-8">
<title>ngTest</title>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.0-rc.3/angular.js"></script>
<script>
angular
.module('app', [])
.controller('Main', ['$scope', function($s) {
$s.data = {
level1: {
level2: {
elements: [{
name: 'item1'
},{
name: 'item2'
},{
name: 'item3'
},{
name: 'item4'
}]
}
}
};
}]);
</script>
</head>
<body ng-controller="Main">
<div ng-repeat="item in data.level1.level2.elements">
<input type="file" ng-model="item.name">
</div>
<pre>{{data}}</pre>
</body>

将引发此错误:
Error: An attempt was made to use an object that is not, or is no longer, usable.

更改后错误消失 type="file"type="text" .知道如何解决这个问题吗?我要写一个指令来监听 change即使在输入上,上传给定文件并将其值分配给绑定(bind)模型。但是我这个错误阻止了我这样做。前几天花了我不少头发。任何有关此事的意见将不胜感激。

最佳答案

对于单个输入,我只需使用

<input ng-model="file" onchange="angular.element(this).scope().upload(this)" type="file">

然后我可以访问我的 Controller 函数中的 fileList 并将其发送到 fileReader,例如
$scope.upload = function(el) {
console.log(el.files);
};

我为 ng-repeat 的情况扩展了它,所以你可以检查这个 plunker

关于AngularJS:将 ng-model 绑定(bind)到 input[type=file] 引发 'no longer usable' 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19670678/

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