标签: angularjs-ng-repeat

使用逗号作为AngularJS的列表分隔符

我需要创建一个以逗号分隔的项目列表:

  <li ng-repeat="friend in friends">
      <b ng-repeat="email in friend.email">{{email}}{{$last ? '' : ', '}}</b>...
  </li>
Run Code Online (Sandbox Code Playgroud)

根据AngularJS文档,表达式中不允许使用控制流语句.这就是我{{$last ? '' : ', '}}无法工作的原因.

是否有另一种创建逗号分隔列表的方法?

编辑1
有一些比以下更简单:

<span ng-show="!$last">, </span>
Run Code Online (Sandbox Code Playgroud)

angularjs angularjs-ng-repeat

178
推荐指数
6
解决办法
12万
查看次数

保留angularjs中的换行符

我见过这个问题.

我的代码而不是ng-bind="item.desc"用途,{{item.desc}}因为我有一个ng-repeat之前.

所以我的代码:

<div ng-repeat="item in items">
  {{item.description}}
</div>
Run Code Online (Sandbox Code Playgroud)

项目描述包含\n未呈现的换行符.

{{item.description}}假设我有ng-repeat上述内容,如何轻松显示换行符?

angularjs angularjs-ng-repeat

169
推荐指数
4
解决办法
14万
查看次数

如何在巨大的数据集(angular.js)上提高ngRepeat的性能?

我有一个数千行的庞大数据集,每行约10个字段,大约2MB的数据.我需要在浏览器中显示它.最简单的方法(获取数据,将其放入$scope,让它ng-repeat=""完成它的工作)工作正常,但它开始将浏览器的节点插入DOM时冻结大约半分钟.我该如何处理这个问题?

一种选择是逐行追加行$scope并等待ngRepeat完成将一个块插入DOM,然后再移动到下一个.但AFAIK ngRepeat在完成"重复"时不报告,所以它会变得丑陋.

其他选择是将服务器上的数据拆分成页面并在多个请求中获取它们,但这甚至更加丑陋.

我浏览了Angular文档以寻找类似的东西ng-repeat="data in dataset" ng-repeat-steps="500",却一无所获.我对Angular方式相当新,所以我可能完全忽略了这一点.这方面的最佳做法是什么?

javascript angularjs angularjs-ng-repeat

166
推荐指数
9
解决办法
13万
查看次数

AngularJS - 如何在ng-Repeat中引用属性名称

除了在对象中呈现属性的值之外,我还想将属性名称呈现为标签.有没有办法做到这一点ng-repeat?例如:

<ul>
    <li ng-repeat="option in data">{{propertyName}}: {{option}}</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

哪个可能吐出这样的东西:

<ul>
    <li>Name: John</li>
    <li>Phone: (123) 456-7890</li>
    <li>Country: England</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

angularjs angularjs-ng-repeat

132
推荐指数
2
解决办法
7万
查看次数

如何在angularJS中过滤多个值(OR运算)

我想使用filterin angular并想要过滤多个值,如果它有任何一个值,那么它应该显示.

我有这样的结构:

一个movie具有属性的对象,genres我想过滤ActionComedy.

我知道我可以做filter:({genres: 'Action'} || {genres: 'Comedy'}),但如果我想动态过滤该怎么办.例如filter: variableX

如何设置variableX$scope,当我有我有过滤类型的数组?

我可以把它构造成一个字符串,然后做一个eval()但我不想使用eval()...

javascript angularjs angularjs-ng-repeat

132
推荐指数
9
解决办法
25万
查看次数

如何使ng-repeat过滤掉重复的结果

我正在运行一个简单ng-repeat的JSON文件,并希望得到类别名称.大约有100个对象,每个对象属于一个类别 - 但只有大约6个类别.

我目前的代码是这样的:

<select ng-model="orderProp" >
  <option ng-repeat="place in places" value="{{place.category}}">{{place.category}}</option>
</select>
Run Code Online (Sandbox Code Playgroud)

输出是100个不同的选项,大多数是重复的.如何使用Angular检查是否{{place.category}}已存在,如果已存在则不创建选项?

编辑:在我的javascript中$scope.places = JSON data,只是为了澄清

angularjs angularjs-ng-repeat

131
推荐指数
5
解决办法
21万
查看次数

AngularJS - 如何获取ngRepeat过滤结果参考

我正在使用带有过滤器的ng-repeat指令,如下所示:

ng-repeat="item in items | orderBy:'order_prop' | filter:query | limitTo:4"
Run Code Online (Sandbox Code Playgroud)

我可以看到渲染结果很好; 现在我想在我的控制器中对该结果运行一些逻辑.问题是如何获取结果项引用?

更新:


只是为了澄清:我正在尝试创建一个自动完成,我有这个输入:

<input id="queryInput" ng-model="query" type="text" size="30" placeholder="Enter query">
Run Code Online (Sandbox Code Playgroud)

然后过滤结果:

<ul>
   <li  ng-repeat="item in items | orderBy:'order_prop' | filter:query | limitTo:4">{{item.name}}</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

现在我想导航结果并选择其中一个项目.

javascript filter angularjs angularjs-ng-repeat

128
推荐指数
5
解决办法
8万
查看次数

如何使用bootstrap将ng-repeat数据拆分为三列

我正在使用ng-repeat和我的代码我有'n'个基于ng-repeat的文本框.我想将文本框与三列对齐.

这是我的代码

<div class="control-group" ng-repeat="oneExt in configAddr.ext">
    {{$index+1}}. 
    <input type="text" name="macAdr{{$index+1}}" 
           id="macAddress" ng-model="oneExt.newValue" value=""/>
</div>
Run Code Online (Sandbox Code Playgroud)

javascript angularjs angularjs-ng-repeat

122
推荐指数
5
解决办法
15万
查看次数

ng-model,ng-repeat和输入有困难

我试图允许用户使用ngRepeat和编辑项目列表ngModel.(看到这个小提琴.)但是,我尝试过的两种方法都会导致奇怪的行为:一个不更新模型,另一个模糊每个keydown上的形式.

我在这里做错了吗?这不是支持的用例吗?

以下是小提琴的代码,为方便起见而复制:

<html ng-app>
    <head>
        <link href="//netdna.bootstrapcdn.com/twitter-bootstrap/2.2.1/css/bootstrap-combined.min.css" rel="stylesheet">
    </head>
    <body ng-init="names = ['Sam', 'Harry', 'Sally']">
        <h1>Fun with Fields and ngModel</h1>
        <p>names: {{names}}</p>
        <h3>Binding to each element directly:</h3>
        <div ng-repeat="name in names">
            Value: {{name}}
            <input ng-model="name">                         
        </div>
        <p class="muted">The binding does not appear to be working: the value in the model is not changed.</p>
        <h3>Indexing into the array:</h3>
        <div ng-repeat="name in names">
            Value: {{names[$index]}}
            <input ng-model="names[$index]">                         
        </div>
        <p class="muted">Type one character, and the input …
Run Code Online (Sandbox Code Playgroud)

angularjs angularjs-ng-repeat angularjs-ng-model

116
推荐指数
4
解决办法
16万
查看次数

角度ng变化延迟

我有一个输入,可以在更改时过滤ng-repeat列表.重复包含大量数据,需要几秒钟来过滤所有内容.在开始过滤过程之前,我希望它们延迟0.5秒.角度创建此延迟的正确方法是什么?

输入

 <input ng-model="xyz" ng-change="FilterByName()" />
Run Code Online (Sandbox Code Playgroud)

重复

 <div ng-repeat"foo in bar">
      <p>{{foo.bar}}</p>
 </div>
Run Code Online (Sandbox Code Playgroud)

过滤功能

 $scope.FilterByName = function () {
      //Filtering Stuff Here
 });
Run Code Online (Sandbox Code Playgroud)

谢谢

angularjs angularjs-directive angularjs-ng-repeat

114
推荐指数
3
解决办法
7万
查看次数