ng-repeat + ion-infinite-scroll在真正的android上不起作用

时间:2016-06-09 13:45:47

标签: javascript angularjs cordova ionic-framework cross-platform

我在两周内一直在使用离子跨平台应用程序,所以,我对此非常不满。

目前,我发现ng-repeat exactly like this存在问题。 是的,集合重复可以解决问题,但创建另一个。 就我而言,每个项目都有不同的大小,而collection-repeat无法动态计算。 这是我的重复列表:

     <ion-list>
        <ion-item class="list card" ng-repeat="feed in feeds" type="item-text-wrap" href="#/tab/feed/{{feed.id_geral}}">
            <div class="item item-avatar">
                <img width="50" src="http://192.168.1.14/vogo/files/perfil/p/{{feed.img_perfil}}">
                <h2>{{feed.nome_perfil }}</h2>
            </div>
            <div class="item item-body">
                <img ng-show="feed.img_link.length > 3"
                     class="full-image" src="{{feed.img_link}}">
                <img ng-show="feed.video.length > 3"
                     class="full-image" src="https://i.ytimg.com/vi/{{feed.video}}/sddefault.jpg" />
                <p>{{feed.post}}</p>
                <p>
                    <a href="#" class="subdued">1 Like</a>
                    <a href="#" class="subdued">5 Comments</a>
                </p>
            </div>
            <div class="item tabs tabs-secondary tabs-icon-left">
                <a class="tab-item" href="#">
                    <i class="icon ion-thumbsup"></i> Like
                </a>
                <a class="tab-item" href="#">
                    <i class="icon ion-chatbox"></i> Comment
                </a>
                <a class="tab-item" href="#">
                    <i class="icon ion-share"></i> Share
                </a>
            </div>
        </ion-item>
    </ion-list>

我一直试图以这种方式解决方法

<div id="dummyRender"  class="list card">
        <div class="item item-avatar">
            <img width="50" src="http://192.168.1.14/vogo/files/perfil/p/{{feed.img_perfil}}">
            <h2>{{dummy.nome_perfil }}</h2>
        </div>
        <div class="item item-body">
            <img ng-show="dummy.img_link.length > 3"
                 class="full-image" src="{{dummy.img_link}}">
            <img ng-show="dummy.video.length > 3"
                 class="full-image" src="https://i.ytimg.com/vi/{{feed.video}}/sddefault.jpg" />
            <p>{{dummy.post}}</p>
            <p>
                <a href="#" class="subdued">1 Like</a>
                <a href="#" class="subdued">5 Comments</a>
            </p>
        </div>
        <div class="item tabs tabs-secondary tabs-icon-left">
            <a class="tab-item" href="#">
                <i class="icon ion-thumbsup"></i> Like
            </a>
            <a class="tab-item" href="#">
                <i class="icon ion-chatbox"></i> Comment
            </a>
            <a class="tab-item" href="#">
                <i class="icon ion-share"></i> Share
            </a>
        </div>
    </div>

并在控制器上创建一个处理高度的函数

var dummy = document.getElementById("dummyRender");

$scope.renderHeight = function (feedIten) {
    $scope.dummy = feedIten;
    return dummy.clientHeight;
};

呼吁

<ion-item class="list card" collection-repeat="feed in feeds" type="item-text-wrap" href="#/tab/feed/{{feed.id_geral}}"  item-height="renderHeight(feed)">

但它只适用于文本。

有人可以帮助我使用ng-repeat或collection-repeat或其他方法来解决这个问题吗?

谢谢,对不起我的英语技能!

1 个答案:

答案 0 :(得分:0)

经过大量工作后,这是我悲伤的答案

这没有解决方案,它是一个Android 4.4&lt; issue并且无法修复,因此如果您想接受机器人4.4并降低,则无法使用ng-repeat和ion-infinite-scroll。

您可以使用具有相同尺寸的重复列表,但它无法使用动态尺寸。