javascript - iScroll5 和 Angularjs 1.2 不工作

标签 javascript angularjs iscroll

已附

<script src="js/angular/angular.js"></script>    
<script src="js/lib/iscroll.js"></script>
<script src="js/lib/ng-iscroll.js"></script>

JS 文件

var App = angular.module('MyApp', [ 'ng-iscroll', ]);

App.controller('LoadUsers', ['$scope', function ($scope) {
    $.ajax({
        url: JSON URL HERE,
        type: 'GET',
        dataType: 'json',
        headers: {
            'Accept-Encoding': 'gzip'
        },
        crossDomain: true,
        timeout: 15000,
        success: function (data) {
            var nData = [];
            angular.forEach(data, function (value, key) {
                /* ############################ Scope ############################ */
                var nItem = {};
                nItem.fleetUser = value.name;
                nData.push(nItem);
            });

            $scope.fleet = nData;
            $scope.$apply();

        },
        error: function (data) {
            $scope.error = true;
            $scope.$apply();
        }
    });

}]);

HTML

<div ng-controller="LoadUsers">
    <div id="wrapper" ng-iscroll>
        <ons-list>
            <ons-list-item ng-show="error">Server Connection Error</ons-list-item>
            <ons-list-item class="topcoat-list__item__line-height" ng-repeat="item in fleet">{{item.fleetUser}}
                <br/>
            </ons-list-item>
        </ons-list>
    </div>
</div>

您好,我在将最新的 iScroll 实现到我的项目中时遇到了麻烦。在我的移动设备上,列表未显示,我遇到的唯一错误是:

Uncaught TypeError: Cannot read property 'length' of undefined iscroll.js:1303
IScroll.goToPage iscroll.js:1303
IScroll._wheel iscroll.js:1084
IScroll.handleEvent

这是将 iSroll 实现到 Angular 重复的正确方法吗?啊,没有它,列表就可以正常工作。

谢谢

最佳答案

更新

您可以尝试GitHub - @acido69的解决方案。它对我有用。

<li ng-repeat="list in lists">
    <h3>{{list.text}}</h3>
    <p>{{list.done}} With Angular JS</p>
    {{ updateScroll($last) }}

// in controller
var Scroller = new iScroll('wrapper');
$scope.lists = [{text:'', done:''}];
$scope.updateScroll = function(isLast){
  if(isLast) Scroller.refresh()
}

See Example

原始答案

到目前为止,我认为你不能,因为 iscroll4 中仍然存在关于 ng-repeat 的问题。 See ng-iscroll issue

希望他们能尽快修复它。

关于javascript - iScroll5 和 Angularjs 1.2 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23098313/

相关文章:

javascript - HTML5 占位符功能检测问题

javascript - 拼接然后修改数组

javascript - 使用 AngularJS 自定义 HTML5 视频播放器控件

javascript - iScroll 不断向上滚动(Phonegap)

javascript - 将浮点图另存为图像

javascript - react /Redux : Where are my props?

javascript - react Material 选择选项未填充

javascript - 在选择标签中重定向 ng-change

javascript - 为什么我不能点击输入?

javascript - 如何通过 JavaScript 以编程方式在 iPhone 上的 Mobile Safari 中显示地址栏?