标签: angularjs-ng-repeat

AngularJS:显示加载HTML直到加载数据

在数据加载完成之前,如何让AngularJS显示加载微调器?

如果我的控制器已$scope.items = [{name: "One"}]静态设置,并且填充了一个AJAX加载器$scope.items[0]['lateLoader'] = "Hello",我希望微调器显示直到AJAX加载完成,然后用检索到的数据填充绑定范围.

<ul ng-repeat="item in items">
  <li>
    <p>Always present: {{item.name}}</p>
    <p>Loads later: <span ng-bind="item.lateLoader"><i class="icon icon-refresh icon-spin"></i></span></p>
  </li>
</ul>
Run Code Online (Sandbox Code Playgroud)

此代码立即填充绑定范围,并且由于item.lateLoader空,所以微调器将替换为空.

我该怎么干净呢?

javascript angularjs angularjs-ng-repeat

21
推荐指数
3
解决办法
8万
查看次数

在ng-repeat中逐行加载图像,角度为js

当您向下滚动页面时,如何实现渐进式内容加载?否则将同时加载1000张图像.

lazy-loading progressive angularjs angularjs-ng-repeat

20
推荐指数
2
解决办法
4万
查看次数

角度ng重复导致闪烁

我正在使用以下代码显示缩略图列表:

<div class ="channel" ng-repeat ="channel in UIModel.channels" ng-class ="{evenchannel: ($index % 2) == 0, oddchannel: ($index % 2) == 1}">
            <img class="channel-img" ng-src ="data/channels/{{$index + 1}}/thumb"/>
</div>
Run Code Online (Sandbox Code Playgroud)

在控制器中,我有一个ajax请求,它抓取新的缩略图图像.Angular因此更新图像但导致闪烁.有没有办法在更新DOM的过程中双重缓冲区或没有删除列表?

html javascript angularjs angularjs-ng-repeat

20
推荐指数
2
解决办法
7662
查看次数

按日期范围重复过滤数据

我正在尝试通过键入一系列日期来过滤包含时间戳的列表

例如:

的jsfiddle

HTML

<div ng-app="tst">
    <div ng-controller="MyController">
        <table>
            <tr>
                <td>From:
                    <input ng-model="query.date1" type="text" placeholder="" />
                </td>
                <td>To:
                    <input ng-model="query.date2" type="text" placeholder="" />
                </td>
            </tr>

            <tr ng-repeat="order in orders |filter:query">
                <td>{{order.date1 * 1000 | date:'dd-MM-yyyy'}}</td>
                <td>{{order.date2 * 1000 | date:'dd-MM-yyyy'}}</td>
            </tr>
        </table>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

JavaScript的

var nameSpace = angular.module('tst',[]);

nameSpace.controller('MyController', function MyController($scope) {
  $scope.orders = [
  {
    "date1":"1306487800",
    "date2":"1406587800"
  },
  {
    "date1":"1196487800",
    "date2":"1406597800"
  }]
});
Run Code Online (Sandbox Code Playgroud)

我希望能够使用以下值填充"发件人"字段:27-05-2010

和"To"字段的值:29-07-2015

并只获取​​此范围内的记录.

(示例中的第一条记录).

谢谢分享Avi

angularjs angularjs-ng-repeat

20
推荐指数
1
解决办法
5万
查看次数

量角器 - 计算中继器中的元素并打印它

我正在尝试计算转发器中的元素并将其打印到控制台.

这是标记:

<div class="col-md-3 ng-scope" ng-repeat="app in userApps" >...< /div> 
Run Code Online (Sandbox Code Playgroud)

目前我正在计算和比较:

expect(element.all(by.repeater('app in userApps')).count()).toEqual(4);
Run Code Online (Sandbox Code Playgroud)

它有效,但我也希望能够打印它.

我试过这个:

var rows = element.all(by.repeater("app in userApps"));
var sum = rows.count(); 
console.log(sum.getText());
Run Code Online (Sandbox Code Playgroud)

但我得到了:

TypeError: Object [object Object] has no method 'getText'
Run Code Online (Sandbox Code Playgroud)

实际上有两个问题 - 我是以正确的方式做到的吗?2.如何将其打印到控制台?

testing end-to-end angularjs angularjs-ng-repeat protractor

20
推荐指数
1
解决办法
3万
查看次数

如何在一个customdirective中比较ng-show中的字符串值?

尝试使用带有ng-show语句的指令.基本上它会检查字符串的值,这是我的'names'jsonarray中的status_p1属性:

ng-show="name.status_p1==working"
Run Code Online (Sandbox Code Playgroud)

该指令定义如下:

app.directive('radioButton',function(){
  return {
    restrict: 'E',

    replace: 'true',

    template: '<table border="2px">' +
    '<tr><td>{{name.name}}</td><td>Working</td><td><img src="http://www.iconshock.com/img_jpg/REALVISTA/general/jpg/256/cross_icon.jpg" alt="img1" id="imgworking" ng-show="name.status_p1!=working"><img src="http://png-1.findicons.com/files/icons/2198/dark_glass/128/camera_test.png" alt="img2" ng-show="name.status_p1==working"></td></tr>' +
    '</table>'
  };
})
Run Code Online (Sandbox Code Playgroud)

我的主页面中的控制器+ namesarray如下所示:

 app.controller('MainCtrl', function($scope) {
 $scope.names = [
    {
      name: 'couple 1',
      status_p1: 'working',
      status_p2: 'retired'
    }

  ]
});
Run Code Online (Sandbox Code Playgroud)

最后是主页:

<body ng-controller="MainCtrl">
    <div ng-repeat="name in names">
      <radio-button></radio-button>
    </div>
</body>
Run Code Online (Sandbox Code Playgroud)

当前显示一个十字架,它应显示一个检查/勾选.我期望条件评估为TRUE,因为status_p1属性等于'working'.如何修改此ng-showstatement以使字符串比较有效?plunkr链接:http://plnkr.co/edit/3VdsbsSHpkNJFVnvkmOW?p = preview

angularjs angularjs-directive angularjs-ng-repeat

20
推荐指数
1
解决办法
7万
查看次数

Angular HTML Select选项禁用和启用

我有一个html选择选项

<select>
    <option ng-repeat="field in filter.fields" value="{{field.id}}">{{field.name}}</option>
</select>
Run Code Online (Sandbox Code Playgroud)

我正在从ng-repeat迭代,我想基于一个可选择的字段来禁用选项

<select>
    <option ng-repeat="field in filter.fields" {field.selectable==true?enable:disable} value="{{field.id}}">{{field.name}}</option>
 </select>
Run Code Online (Sandbox Code Playgroud)

我怎么能用角度实现这个目标?

html javascript angularjs angularjs-ng-repeat

19
推荐指数
2
解决办法
5万
查看次数

过滤器在ng-repeat中返回任何内容时如何显示消息 - AngularJS

我想在过滤器上没有返回任何项目时显示一个div(消息)(ng-repeat).

根据选择框(ng-model)进行过滤.并且某些选项没有结果,那时用户应该能够在同一个地方阅读消息.我可以在这里使用ng-show/hide吗?怎么样?

谢谢,

javascript angularjs angularjs-ng-repeat

19
推荐指数
3
解决办法
2万
查看次数

Ng-animate不添加ng-enter和ng-leave类

这是我第一个使用Angular的项目,我在ng-animate方面遇到了一些麻烦.我做了几个教程,在教程中我得到了一切正常.现在我正在使用Angular进行项目,而我无法让ng-animate正常工作.诸如"ng-enter"和"ng-leave"之类的类不会添加到不同的元素中.

我已经将各种工作脚本与我进行了比较,但却无法找出我做错了什么.

我的标题:

<link rel="stylesheet" href="css/app.css">

<script src="js/libraries/jquery-2.1.1.min.js"></script>
<script src="js/libraries/angular.js"></script>
<script src="js/libraries/angular-animate.js"></script>
<script src="js/libraries/angular-resource.js"></script>
<script src="js/libraries/angular-route.js"></script>

<script src="js/app.js"></script>
<script src="js/controllers.js"></script>
<script src="js/services.js"></script>
Run Code Online (Sandbox Code Playgroud)

我的HTML:

<div class="view-container">
<div ng-view class="{{pageclass}} view-frame"></div>
</div>
Run Code Online (Sandbox Code Playgroud)

我的app.js.

'use strict';

/* App Module */

var engineShowcaseApp = angular.module('engineShowcaseApp', [
  'ngRoute',
  'ngAnimate',
  'engineShowcaseController',
  'engineShowcaseServices'
]);

engineShowcaseApp.config(['$routeProvider',
  function ($routeProvider) {
    $routeProvider.
      when('/', {
        templateUrl: 'partials/main.html',
        controller: 'MainCtrl'
      }).
      when('/chapters/:chapterID', {
        templateUrl: 'partials/chapter.html',
        controller: 'ChapterCtrl'
      });
  } ]);
Run Code Online (Sandbox Code Playgroud)

我的controllers.js:

'use strict';

/* Controllers */

var engineShowcaseController = angular.module('engineShowcaseController', []);

engineShowcaseController.controller('MainCtrl', …
Run Code Online (Sandbox Code Playgroud)

angularjs angularjs-ng-repeat ng-animate

19
推荐指数
1
解决办法
2万
查看次数

如何在ng-repeat中将对象属性别名为变量

我正在重复一个对象数组,我希望循环中的变量只能引用每个对象的一个​​属性.

简化数据示例:

var data = [
  {
    'name': {
      'first': 'John',
      'last': 'Johnson'
    }
    'age': 45
  },
  {
    'name': {
      'first': 'Larry',
      'last': 'Wilson'
    }
    'age': 45
  }
]
Run Code Online (Sandbox Code Playgroud)

我可以:

<div ng-repeat="person in data">{{ person.name.first }}</div>

但我更喜欢做的只是专注于我正在使用的对象的唯一部分,并执行以下操作:

<div ng-repeat="person.name in data as name">{{ name.first }}</div>

但这似乎不起作用 - 这目前可能吗?

javascript angularjs angularjs-ng-repeat

19
推荐指数
1
解决办法
1万
查看次数