【问题标题】:ng-class in ng-repeat with a $index selector带有 $index 选择器的 ng-repeat 中的 ng-class
【发布时间】:2016-07-05 19:11:14
【问题描述】:

我想在 ng-class 中选择表单元素,它位于 ng-repeat 中,我需要 ng-class 中的 1:n 选择器。但是 {{}} + $index 在 ng-class 表达式中正常工作。扇区解析正确。但是 ng-class 处理不了。当 {{}} + $index 在里面时,它没有检测到选择器。

代码:

<form name="vm.itemForm" ng-submit="vm.onSave()">
(...)
  <tr ng-repeat="item in vm.item.sizes | orderBy:predicate:reverse">
    (...)
     <div class="dc-input-group">
        <input class=""
               ng-model="item.stock"
               ng-class="{ 'testclass': vm.itemform.{{'stockInput'+$index}}.mySelector  }" 
               name="{{'stockInput'+$index}}" />
        </div>

HTML 输出:

  <input class="form-validation dc-input dc-input--in-input-group dc-input--text-right ng-touched ng-not-empty ng-dirty ng-valid-number ng-valid ng-valid-required" 
    ng-model="item.stock"
    ng-class="{ 'testclass': vm.form.stockInput1.$valid }" 
    required=""
    name="stockInput1" 
    type="number"> 

【问题讨论】:

    标签: javascript angularjs forms ng-repeat ng-class


    【解决方案1】:

    ng-class 已经是一个表达式,因此您将 2 个表达式放在彼此中。你可以这样修复它:

    <input class=""
           ng-model="item.stock"
           ng-class="{'testclass': vm.itemform['stockInput'+$index].mySelector}" 
           name="{{'stockInput'+$index}}" />
    

    【讨论】:

      猜你喜欢
      • 2014-02-26
      • 1970-01-01
      • 2013-08-11
      • 1970-01-01
      • 2016-04-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-27
      • 2016-09-04
      相关资源
      最近更新 更多