Angular从ng-repeat中的$ scope获取动态变量

时间:2014-09-04 15:34:45

标签: javascript angularjs angularjs-scope angularjs-ng-repeat

我无法在ng-repeat

中的$ scope范围内输出变量

我的$ scope内定义了以下变量: error_question1 error_question2 error_question3

我在ng-repeat中有以下内容,我正在尝试使用ng-repeat的$ index将span的值分配给$ scope中的相应变量。

我可以通过直接定位变量来实现这一点,但显然它会重复我的ng-repeat中的每个项目,如下所示:

<span class="help-block" ng-show="error_question{{$index + 1}}">{{error_question2}}</span>

但是,我想象它的工作方式不起作用:

<span class="help-block" ng-show="error_question{{$index + 1}}">{{error_question[$index + 1]}}</span>

[$ index + 1]似乎打破了它?

1 个答案:

答案 0 :(得分:4)

请注意,通过执行{{error_question[$index + 1]}},您基本上是说#34;在$index + 1数组&#34;的位置error_question处找到该项目。那不是你想要的。

尝试使用其他方法。而不是在$scope中浮动所有 error_question1,error_question2,... error_questionX ,而是使用对象来封装错误。像这样:

$scope.errors = {
  question1: ...,
  question2: ...,
  question3: ...,
  ...
};

这样你可以在HTML中使用它:

<span class="help-block" ng-show="errors.question{{$index + 1}}">{{errors['question' + ($index + 1)]}}</span>

Plunker