aquint / ion-alpha-scroll

Alphabetically indexed list with alpha scroll bar.
99 stars 35 forks source link

Promised data usage? #3

Open ZachMoreno opened 9 years ago

ZachMoreno commented 9 years ago

Hi & thank you kindly for building this useful directive for Ionic apps. I'm running into an issue when I attempt to bind data from a factory that pulls from a remote endpoint, which works as intended within a vanilla <ion-list>. From what I can tell, the current code expects the data to already be bound to the ngModel.$viewValue object. This is, of course, not the case with remote data until the promise has been resolved. My current attempt at accomidating promised data within <ion-alpha-list> is to augment your usage of ngModel.$viewValue on line 49 of /src/ion-alpha-scroll.js with the following.

ngModel.$viewValue.$promise.then(function(items) {
    if(items.$resolved = true) {
        scope.items = items;
    }
});

the promised items object is being populated with my remote data, but it is not then being assigned to scope.items. Any help you can provide is very much appreciated & I'll be happy to contribute what I can back to this repo.

ghost commented 8 years ago

+1

alainib commented 7 years ago

if you want to use promise use ngIf

    <ion-alpha-scroll ng-if="items.length>0" ng-model="items" key="name">
        <div>{{item.name}}</div>
        <div>{{item.lastText}}</div>
    </ion-alpha-scroll>

the directive will be called only when data will be set. ion-alpha-scroll can be edited to use watch on ng-model to update itself