使用以下代码:
<!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
事件,上传给定文件并将其值分配给绑定模型。但是,这个错误阻止了我这样做。最近几天让我很苦恼。如果对此有任何意见,将不胜感激。
ng-model
并且已经为该作用域属性设置了一个值时,您实际上正在填充输入值...这在文件输入上无法工作。 - charlietfl