javascript - 动态多种形式并处理每个 AngularJS 的 ng-model

标签 javascript angularjs forms angular-forms

我有一个页面,您可以在其中动态添加表单,但我想要做的是将其中每个表单作为不同的对象。现在,当我添加新表单并填写输入字段时,它也反射(reflect)在其他表单中,但我希望应用程序将每个表单视为单独的实体。我怎样才能实现这一目标?我的代码如下:

HTML

<form name="referenceForm" ng-controller="ReferenceController as rfcCtrl" novalidate>
          <md-card ng-repeat="reference in rfcCtrl.references track by $index" class="job-profile-card flex" ng-click="jobCtrl.browseMatches(job)">
               <md-button ng-disabled="rfCtrl.references.length==0" ng-click="rfcCtrl.add(reference)" class="md-fab md-fab-bottom-right docs-scroll-fab job-profile-fab" aria-label="FAB">
                 <md-icon ng-bind="'add'"></md-icon>
               </md-button>
                 <div layout="column" layout-align="space-around center">
                    <div class="flex">
                    <md-input-container class="md-block" flex-gt-sm>
                        <label style="color:white">Name</label>
                        <input ng-model="rfcCtrl.ref.name" style="color:white" md-maxlength="30" ng-required="true">
                        <div style="color:white" class="hint" ng-if="showHints">Tell us what we should call you!</div>
                        <div style="color:white"  ng-if="!showHints">
                        <div style="color:white" ng-message="required">Name is required.</div>
                        </div>
                    </md-input-container>

                    <md-input-container class="md-block" flex-gt-sm>
                    <label style="color:white">Phone Number</label>
                    <input name="phone" ng-model="rfcCtrl.ref.phone" ng-required="true">
                    <div style="color:white" class="hint" ng-show="showHints">(###) ###-####</div>
                    <div style="color:white" ng-messages="referenceForm.phone.$error" ng-hide="showHints">
                    <div style="color:white" ng-message="pattern">(###) ###-#### - Please enter a valid phone number.</div>
                    </div>
                    </md-input-container>
                    </div>
                </div>
          </md-card>
                <section layout="row" layout-sm="column" layout-align="center center" layout-wrap>
                 <md-button ng-disabled="referenceForm.$invalid" ng-click="rfcCtrl.submit()" class="submit" type="submit" layout="row" layout-sm="row" layout-align="center center" layout-wrap text-align="center">Submit</md-button>
                </section>
      </form>

Javascript

function ReferenceController(referenceService, $scope, $location,$cookies) {
    var reference;
    let vm = this;
    vm.references = [reference];


     vm.ref = {
        'name': "",
        'phone': ""
    };



     vm.add=function(reference){
        vm.references.push({reference});
       }


    vm.submit = function () {

        referenceService.postReferences(vm.ref).then(function (data) {
                $location.path("/userType")
            },
            function () {
                alert("There is an error processing your request!")
            })
    };

}

如有任何帮助,我们将不胜感激。谢谢!!

最佳答案

您想要使用在 ng-repeat 中创建的引用变量来设置 ng-model。现在进行绑定(bind)的方式是为每次迭代绑定(bind)到同一个对象。

<md-input-container >
    <label style="color:white">Name</label>
    <input ng-model="reference.name" style="color:white" md-maxlength="30" ng-required="true">
</md-input-container>

关于javascript - 动态多种形式并处理每个 AngularJS 的 ng-model,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45617624/

相关文章:

javascript - 无法为生成的 html 重建日期选择器

javascript - img src 或其他选择器的 AngularJS 正则表达式 json 数据

node.js - 如何: Execute infinite scroll using AngularJS and change route on every new post

javascript - 防止用户点击除 Textarea 之外的 Enter

javascript - 是否可以在表单提交时检测哪个输入字段无效?

javascript - UI 路由器的模拟别名状态

javascript - 我应该在生成的代码中使用 "with"语句吗?

javascript - 使伪元素出现,然后在 X 时间后再次消失

javascript - 如果把angular.js放在body底部会遇到什么问题?

django - 将请求传递给 Django Admin 中的内联表单?