如何清除动态ng-repeat表单字段

blu*_*man 5 forms angularjs ng-repeat

问题:如何清除动态创建的ng-repeatAngularJS表单字段?如果你能找到一个我没有找到答案的地方,我会感到惊讶.

背景:我有AngularJS通过服务将JSON拉入我的控制器.然后我使用范围来重复表格的重复标签.我无法清理田地.因为单词没有准确地告诉你我在做什么是基本的代码设置.我把它砍成了几行.

我试过老$scope.formName.inputName="";$scope.inputName="";,但他们没有工作.任何想法或方向去?

http://plnkr.co/edit/BtID7a8EnyxuxClwdHkS?p=preview

<!DOCTYPE html>
<html>
<head>
<script data-require="angular.js@*" data-semver="1.3.0-beta.5" src="https://code.angularjs.org/1.3.0-beta.5/angular.js"></script>
<link href="style.css" rel="stylesheet" />
<script src="app.js"></script>
</head>
<body ng-app="app" ng-controller="AppTest as app">
    <form name="formName" id="formName" style="width: 320px">
        <div ng-repeat="item in currentInfo.attribute">
            <div style="float:left;">{{item.desc}} </div>
            <div style="float:left;">
                <input name="forminput" ng-model="forminput" style="width:200px" type="text" value=""/>
            </div>
        </div>
        <button value="Clear" style="float:left;" ng-click="clearMe()">Clear</button>
    </form>
</body>
</html>

var app = angular.module("app", []);
app.controller("AppTest", function($scope) {
$scope.currentInfo = {
"attribute": [
    {
        "name": "ACCT",
        "desc": "Account #",
    },
    {
        "name": "FNAME",
        "desc": "First Name",
        "type": "VARCHAR",
        "validation": "^[a-zA-Z\\s]+"
    },
    {
        "name": "LNAME",
        "desc": "Last Name",
        "type": "VARCHAR",
        "validation": "^[a-zA-Z\\s]+"
    },
    {
        "name": "MNAME",
        "desc": "Middle Name",
        "type": "CHAR",
        "validation": "^[a-zA-Z]+[1-9]+"
    }
]
};
$scope.clearMe = function (){
    $scope.forminput = "";
};
});
Run Code Online (Sandbox Code Playgroud)

A.B*_*A.B 3

ngmodel="forminput"通过为输入创建一个对象并使用键创建唯一的模型,您可以重复使用每个唯一的单次使用ng-model="forminput[item.desc]"

首先在你的控制器中

 $scope.forminput = {};
Run Code Online (Sandbox Code Playgroud)

然后在视图中,将输入更改为

演示:

 $scope.forminput = {};
Run Code Online (Sandbox Code Playgroud)
// Code goes here

var app = angular.module("app", []);

app.controller("AppTest", function($scope) {
   $scope.forminput = {};
  $scope.currentInfo = {
    "attribute": [
        {
            "name": "ACCT",
            "desc": "Account #",
        },
        {
            "name": "FNAME",
            "desc": "First Name",
            "type": "VARCHAR",
            "validation": "^[a-zA-Z\\s]+"
        },
        {
            "name": "LNAME",
            "desc": "Last Name",
            "type": "VARCHAR",
            "validation": "^[a-zA-Z\\s]+"
        },
        {
            "name": "MNAME",
            "desc": "Middle Name",
            "type": "CHAR",
            "validation": "^[a-zA-Z]+[1-9]+"
        }
    ]
  };
  $scope.clearMe = function (){
    console.log("herleme")
    $scope.forminput = {};
  };
});
Run Code Online (Sandbox Code Playgroud)

<input name="forminput[item.desc]" 
ng-model="forminput[item.desc]" 
style="width:200px" type="text" value=""/>
Run Code Online (Sandbox Code Playgroud)

并将其清除为

  $scope.clearMe = function (){
    console.log("herleme")
    $scope.forminput = {};
  };
Run Code Online (Sandbox Code Playgroud)