AngularJS - 在表达式中使用 $index 的动态命名

标签 angularjs angularjs-ng-repeat angularjs-ng-form

我有一个指令,其中我创建了许多 ng-form,并且我根据 $index 命名每个表单(来自 ng-repeat )。我的问题是当 form 无效时我想显示一个错误容器(包含错误消息),但我找不到如何正确引用该表单。

这是我的代码:

<ng-form name="innerForm{{$index}}">

    <label ... ><input name="input" ... />

        <div class="error-container" ng-show="'innerForm'+$index.input.$invalid">
               // show the error message
        </div>

</ng-form>

例如,我希望将 'innerForm'+$index.input.$invalid 评估为 innerForm5.input.$invalid

我已经做了很多尝试,但我无法让它工作。引用动态命名表单的正确方法是什么?

最佳答案

请看这里:http://jsbin.com/jocane/4/edit

 <div ng-controller="firstCtrl">
  <div ng-repeat="object in allMyObjects">
    <ng-form name="innerForm{{$index}}">
  <input type="text"  ng-model="object.name" required name="userName">

      <div ng-show="{{'innerForm'+$index}}.userName.$invalid">
               error
        </div>
      </form>

    </div>

关于AngularJS - 在表达式中使用 $index 的动态命名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24954407/

相关文章:

javascript - 使用angularjs在 View 页面中拆分冒号

javascript - 具有嵌套的 ng-repeat 和过滤器的 Angularjs 无限摘要循环

javascript - AngularJS - IE8 - 将 $index 传递给 ng-click 中的函数始终返回 0 并执行多次

angularjs-ng-repeat - 将 svg 与 angularjs ng-repeat 一起使用

javascript - Angularjs 表单验证

html - 超出范围时,带有数字的 AngularJS 输入未定义

javascript - 通过 Angular 从 UL 中删除 LI

javascript - 导致 infdig 的过滤器/函数

javascript - AngularJS:如何从另一个设置一个输入值,并让它像用户输入一样通过验证?

angularjs - ngForm 是否创建新范围