AngularJS ui-utils ui.滚动条不显示结果
AngularJS ui-utils ui.scroll doesn't display results
我有一个使用AngularJS的rails 4应用程序。我试图使用ui创建一个原型。从angular的ui-utils模块中滚动指令。当我使用ng-repeat时,我的rails API工作得很好,但是当我尝试使用ng-scroll时,我的viewport从来没有任何数据。注意:我在应用程序的其他部分使用jquery,所以我没有使用任何jquery的东西。
视图:(我跳过所有的头的东西-但知道,css/jscript是包括在内)
<html ng-app="Raffler">
<body>
<div ng-controller="ItemCtrl">
<div ng-scroll-viewport style="height:240px;">
<ul>
<li ng-scroll="entry in datasource">
{{entry.name}}
</li>
</ul>
</div>
</div> </body> </html>
控制器:(我跳过所有的应用程序包含,但知道依赖项被注入)
angular.module("eli.Controllers").controller("ItemCtrl",
["$scope", "Item", function ($scope, Item) {
$scope.items = Item.query();
$scope.datasource = {
get: function(index, count, success) {
// ensure we don't overrun the bounds of the data array
var start = Math.max(0, index);
var end = Math.min(index + count, $scope.items.length);
var results = [];
for (var i = start; i < end; i++) {
results.push($scope.items[i]);
}
success(results);
},
revision: function() {
return $scope.items;
}
};
}
]);
所以我猜你这里的问题是,查询没有返回时,get函数在您的数据源上调用。
您需要在get函数中验证数据是否准备就绪。我不确定查询调用的另一边是什么,但如果有一些方法可以从那个调用中获得一个承诺,那么你可以在get中使用它在回调完成时执行。
相关文章:
- 当查询不在displayField中时,引导Ajax Typeahead不显示结果
- JavaScript循环无法正确计算/显示结果
- 将循环中的两个文本框相乘,并在第三个文本框上显示结果
- BMI计算器以Javascript显示结果
- 在表中显示结果
- onchange选择get value并执行查询,然后在同一页面上显示结果
- 搜索XML文件并使用javascript显示结果
- Moment.js不显示结果
- 使用jQuery延迟表单输入,并在延迟后在同一页面上显示结果
- 防止 PHP 在新页面中显示结果
- jquery jqgrid 不显示结果,具体取决于 JSON 对象中的参数
- Angular-如何显示结果,仅在未选中时显示
- backbone.js视图没有't由于异步获取而显示结果;t渲染
- jqueryajax帖子将我发送到操作页面,并且不会显示结果数据
- 添加两个数字,并使用Javascript在文本框中显示结果
- 接受用户输入,与JSON数据匹配,并以javascript显示结果
- 自动完成 JQuery 不显示结果
- 控制台.log或显示结果的函数
- 提交表单,使用脚本处理信息,并在同一页面上显示结果
- AJAX 实时搜索仅当结果以相同的第一个字母开头时才显示结果