Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/436.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AngularJS数据绑定中断ngRepeat+;奇怪的行为_Javascript_Angularjs - Fatal编程技术网

Javascript AngularJS数据绑定中断ngRepeat+;奇怪的行为

Javascript AngularJS数据绑定中断ngRepeat+;奇怪的行为,javascript,angularjs,Javascript,Angularjs,背景:我是一个转向前端开发的系统人员。我只是在和你鬼混。在数据绑定方面很有创意,现在我正试图理解这种行为: <div ng-app> <div class="container">Name <input type="text" ng-model="user.name"> </div>{{ user.name }} <div class="container">Name <in

背景:我是一个转向前端开发的系统人员。我只是在和你鬼混。在数据绑定方面很有创意,现在我正试图理解这种行为:

<div ng-app>
    <div class="container">Name
        <input type="text" ng-model="user.name">
    </div>{{ user.name }}
    <div class="container">Name
        <input type="text" ng-model="user.name">
    </div>
    <ul ng-model="user.name">
        <li ng-repeat="l in user.name">{{ l }}</li>
    </ul>
</div>

名称
{{user.name}
名称
  • {{l}

我希望这可以从任何一个框中获取我的输入,在输入框之间镜像文本,并在底部的行中重复每个字母

如果我在其中一个输入中键入“test”,当一个字母重复时,ng repeat将中断

按顺序输入字母表的效果与我预期的一样


当输入字母重复时,为什么ng重复中断?我对此没有实际用途,我只是为了好玩而尝试Angular,遇到了这个问题,我不明白。

ng repeat将不接受重复条目。由于
test
t
作为重复条目,它将失败

添加
track by
表达式以避免出现这种情况

当我们不提供任何
track by
表达式时,条目(在本例中为每个字母)本身被视为唯一标识符,将条目链接到列表以跟踪其中的更改


  • {{l}
  • 使用
    track by$index
    对数组中的重复项使用ng repeat。试试这把小提琴

    ng repeat
    可以处理一个集合,例如一个数组。不是字符串不是字符串只是一个字符数组吗?不是,它不是数组,不能被视为一个有趣的数组。我在下面看到了$index的轨迹,它很有效。当我在user.name.split()中使用“l”时,它使ul保持在同一直线上,谢谢。我不明白。我从你的回答中得到的文件: