ng-show没有立即显示,但页面更改?

时间:2015-04-21 22:02:00

标签: angularjs cordova

我有这段代码来显示加载消息。

<ion-view title="Rooms">
<ion-content>
    <ion-list ng-show="rooms">
        <ion-item class="item-icon-left" ng-repeat="room in rooms" type="item-text-wrap" ng-click="openChatRoom(room.id)">
            <i class="icon {{room.icon}}"></i>
            <h2>{{room.name}}</h2>
        </ion-item>
    </ion-list>
    <ion-list ng-hide="rooms.length">
        <ion-item class="textCenter">
            <i class="icon ion-loading-c"></i> Loading Rooms
        </ion-item>
    </ion-list>
</ion-content>

它现在做的只是显示“加载房间”一段时间,没有任何显示。 但是,当我更改页面并再次返回此页面时,ng-show中的项目只会显示,并且永远不再显示“加载房间”。 那么为什么这个ng-show没有立即显示?以下是其控制器

.controller('RoomsCtrl', function($scope, Rooms, Chats, $state, $ionicModal) {
    //console.log("Rooms Controller initialized");
    $scope.rooms = Rooms.all();
    console.log($scope.rooms);
    $scope.openChatRoom = function (roomId) {
        $state.go('app.chat', {
            roomId: roomId
        });
    };  
})
.factory('Rooms', function ($firebase) {
    // Might use a resource here that returns a JSON array
    var ref = new Firebase(firebaseUrl);
    var rooms = $firebase(ref.child('rooms')).$asArray();

    return {
        all: function () {
            return rooms;
        },
        get: function (roomId) {
            // Simple index lookup
            return rooms.$getRecord(roomId);
        }
    }
});

0 个答案:

没有答案