1
私は、連絡先と検索バーを表示するリストを持つアプリケーションを作成しました。それは期待どおりに動作します。しかし、ユーザーが検索したアイテムを選択していくつかの操作を行い、同じリストに戻った場合、リストには値(検索ボックスに入力したキーワード)とフィルタ結果が表示されます。実際に何が起こるかは、フィルタリングされた結果の代わりにすべての結果を表示する操作を行った後にリストページに戻ったときです。 リストから選択した項目からいくつかの操作を実行した後に同じページに戻っても、フィルタリングされた結果を表示する方法はありますか?ユーザーがionic1に戻ったときに再度検索結果を表示する方法
<ion-content class="p-l-10 p-r-10 had-header kp-list" scroll="false">
<div>
<div class="list nodata" ng-if="vm.farmers.length === 0">
<h4><p>{{"nodatatoshow_message" | translate}}</p></h4>
</div>
<div class="list list-inset search_box m-t-10 m-r-10 m-l-10" ng-if="vm.farmers.length !== 0">
<label class="item item-input search_cont"> <i class="icon ion-search placeholder-icon"></i>
<!-- <input type="text" placeholder="search..." ng-model="vm.search"> -->
<input type="text" placeholder="search..." ng-model = "vm.search" ng-change="vm.getUsersByName(vm.search)">
</label>
</div>
</div>
<ion-scroll direction="y" style="height: 100%; margin-top: -5px">
<!-- Option to handle no list -->
<div>
<ion-list class="trans-item ">
<div class="FramerList list" ng-repeat="farmer in vm.farmers" ng-click='vm.gotoFarmerDetail(farmer)'>
<a class="item item-avatar" href="#">
<img src="main/assets/images/profile-pic.jpg">
<h2>{{farmer.name | limit }}</h2>
<h3>{{farmer.mobile_no}}</h3>
</a>
</div>
</ion-list>
<ion-infinite-scroll
on-infinite="vm.loadMore()"
ng-if="!vm.moreData"
distance="10%">
</ion-infinite-scroll>
</div>
</ion-scroll>
コントローラ:あなたはどのような方法でview caching機能を無効にしている場合を除き
function activate() {
Analytics.trackPage('Farmer-List-Page');
vm.farmers = [];
vm.totalcount = [];
vm.moreData = false;
DB.getContact('contacts', limit, offset, 'Farmer').then(function (result) {
for (var i = 0; i < result.rows.length; i++) {
$log.log('result of selected farmer', result);
vm.farmers.push(result.rows.item(i));
}
$log.log('vm.farmers: ', vm.farmers);
}, function (err) {
$log.log('err', err);
});
Contact.get(['Farmer']).then(function (resp) {
$log.log('resp...', resp);
vm.totalcount = resp.length;
$log.log('vm.farmers totalcount: ', vm.totalcount);
$log.log('vm.farmers totalcount: ' + JSON.stringify(vm.totalcount));
});
}