无法从ng-repeat范围之外获取变量值

时间:2015-09-28 12:24:06

标签: angularjs

我没有从ng-repeat范围之外获得变量值。

例如:

在正常编码标准中

var i='test0';
Var Value=['test1','test2','test3','test4'];
console.write(i);
for(int x=0;x>Value.Length;x++)
{
  i=Value[x];
  console.write(Value[x]);
}
console.write(i);

输出:

test0
test1
test2
test3
test4
test4

我需要这样的输出,但是在angularJs中,ng-repeat不适用于这种情况。

<div ng-app='app'>
<div ng-controller="MyController">
    {{myVariable='test0';""}}
    {{myVariable}}
    <div ng-repeat="myVar in Value" >
        {{myVariable=myVar;""}}
        {{myVariable}}
    </div>
    {{myVariable}}
  </div>

在这种情况下,我得到这样的输出。

输出

test0
test1
test2
test3
test4
test0

Fiddler: http://jsfiddle.net/YdQcX/322/

帮我解决这个问题。

如果你不明白问题,请问我。提前致谢

1 个答案:

答案 0 :(得分:2)

http://jsfiddle.net/YdQcX/323/

如果

{{myVariable}}在同一范围内,它将始终具有相同的值! 在ng-repeat之外,它将用最后一个赋值替换每个实例。设置值时无关紧要。它只会使用最后的作业。

在父作用域中分配值使用.dot表示法。创建一个容器,您可以在其中放置变量。只需使用一个键就可以将值写入当前范围。而ng-repeat将为每个项目创建一个子范围。