当前位置: 首页 > 面试题库 >

在AngularJS中的ng-repeat循环内绑定ng-model

拓拔谭三
2023-03-14
问题内容

我正在尝试处理ng-repeat循环内的范围问题-我浏览了很多问题,但还无法使我的代码正常工作。

控制器代码:

function Ctrl($scope) {
  $scope.lines = [{text: 'res1'}, {text:'res2'}];
}

视图:

<div ng-app>
     <div ng-controller="Ctrl">
       <div ng-repeat="line in lines">
           <div class="preview">{{text}}{{$index}}</div>

       </div>
       <div ng-repeat="line in lines">
           <-- typing here should auto update it's preview above -->
           <input value="{{line.text}}" ng-model="text{{$index}}"/>
            <!-- many other fields here that will also affect the preview -->
       </div>
     </div>
    </div>

这是一个小提琴:http :
//jsfiddle.net/cyberwombat/zqTah/

基本上,我有一个包含多行文本的对象(这是一个传单生成器)。用户可以调整每行文本(文本,字体,大小,颜色等),我想为其创建预览。上面的示例仅显示了输入文本的输入字段,我希望它可以自动/按需更新预览div,但是会有更多控件。

我也不确定我是否适合循环索引的代码-这是在循环内创建ng-model名称的最佳方法吗?


问题答案:

对于ng-repeat循环的每次迭代line都是对数组中对象的引用。因此,要预览值,请使用{{line.text}}

类似地,要将数据绑定到文本,将数据绑定到相同的:ng-model="line.text"value使用ng-
model时不需要使用(实际上不应该使用)。

小提琴。

有关作用域和ng-repeat的更深入了解,请参阅[AngularJS中作用域原型/原型继承的细微差别是什么?,第
ng-repeat 节。



 类似资料:
  • 问题内容: 作为AngularJS的新手,我正在寻找一种在触发后定位循环内元素的方法。他们当时似乎还没有准备好。谢谢你的帮助。 问题答案: 这篇博客文章讨论了在控制器中侦听事件以调用函数,而不是使用:

  • 问题内容: 嗨,我有一个简单的ng-repeat-start和end用例,并且工作正常,当我想添加一个内部ng-repeat时出现了问题。这是我的代码 内部ng-repeat到td元素中不起作用,在检查html源代码时看到ngRepeat注​​释,但未创建td元素。 我的丑陋的解决方法(假设我知道该向量的大小)是: 问题答案: 从那时起,我不确定是否使用角度1.1.6,并且在1.1.5或1.0.7

  • Angularjs ng用div标记重复。。我有一个带有div标记的代码,如图所示。。我想重复整个div,在第二个循环中img src是不同的。。如何使用angularjs中的ng repeat指令执行此操作?

  • 问题内容: 如果我的措词不正确,我事先表示歉意。我在的内部有一个文本框,当我尝试获取文本框值时始终为。我只希望它显示我在相应文本框中键入的内容。 似乎是一个问题,那么我该如何创建全局或控制器根级别以便可以访问它? 这是帮助解决问题的JSFiddle:http : //jsfiddle.net/stevenng/9mx9B/14/ 问题答案: 在您的点击表达式中,您可以引用并在您的函数中对其进行访问

  • 问题内容: 我需要第二个$ index用于嵌套的ng-repeat循环。我应该在哪里放? AngularJS网站说 可以使用ngInit为这些属性创建别名。例如,在嵌套ngRepeats时,这可能很有用。 如果我再次使用$ index,它似乎可以工作,但是我不确定这是否正确?我敢肯定有一种简单而正确的方法,我只是找不到一个例子。 谢谢 问题答案: 将引用最内层作用域的索引,因此,如果您需要它,则可

  • 问题内容: 无论如何,有没有一项要计数,然后在循环之外显示呢? 我曾经尝试过没有成功,因为我认为每次都压倒一切。 无论如何,在我的控制器中未执行任何功能就可以做到这一点吗? 问题答案: 在ng-repeat中初始化的代码将具有不同的作用域,并且无法在循环外部访问。 试试这个: