Angularjs:使用ng-show输入控件创建失败的ng-repeat

时间:2014-07-03 12:14:40

标签: angularjs angularjs-directive angularjs-ng-repeat ng-repeat ng-show

我在ng-repeat指令中使用ng-show值时遇到问题。

我已经尝试了许多解决方案,"myForm.".{{value}}.".$error.required"并且没有{{}},甚至没有{{}}指令中ng-show的示例。

看来,放入ng-show的价值正在变得混乱。我希望能够使用字段中的变量(由ng-repeat生成)在命名输入和创建输入控制条件时创建多个字段。

<form name="myForm">
   <div ng-repeat="fields in logEntry.StringValues">
       {{fields.Title}} <input type="text" name="{{fields.PropertyInfoName}}" ng-model="user" required>

       <span class="error" ng-show="myForm.fields.PropertyInfoName.$error.required">
          Required!
       </span><br>
   </div>

编辑:以下代码有效,但没有我需要的ng-repeat。

<form name="myForm">
  SomeText Here: <input type="text" name="testName" ng-model="user" required>
    <span class="error" ng-show="myForm.testName.$error.required">
      Required!
    </span><br>
</form>

3 个答案:

答案 0 :(得分:0)

尝试在指令中删除双括号{{}}。如果您需要更具体的帮助,请发布相应的javascript代码。

 <form name="myForm">
      <div ng-repeat="fields in logEntry.StringValues">
        {{fields.Title}} <input type="text" name="fields.PropertyInfoName" ng-model="user" required>
        <span class="error" ng-show="myForm.fields.PropertyInfoName.$error.required">
          Required!
        </span><br>
      </div>
    </form>

答案 1 :(得分:0)

答案 2 :(得分:0)

记住它只是javascript

 "myForm.".{{value}}.".$error.required"

只是

 myForm[value].$error.required

但是,您需要创建指令来执行您想要执行的操作。作为一个非常类似的角度实现的例子你可以看看https://github.com/gaslight/angular-schema-form 这是demo:http://gaslight.github.io/angular-schema-form/