2017-07-02 5 views
0

3 div要素を持つhtmlページにイオンリフレッシャーを使用したいと考えています。各div要素は、allShow()、earnedShow()、redeemShow()などの異なる機能を実行します。ページにイオン化が1 div以上ある場合にイオンリフレッシャーを使用する方法

私はpopoverコンポーネントを使用してデータをフィルタリングしています。たとえば、「すべて」にはすべてのデータが、「獲得」には獲得した詳細のみが表示され、「使用済み」には償還された詳細のみが表示されます。私はすべてのビューを1つのHTML自体に書きました。私が欲しいのは、「Earned」フィールドに入っているときに、ページをリフレッシュしようとすると、そのdivに責任を負う関数だけが表示され、「All」には移動しないでください。

あなたが現在選択されているdiv要素に依存リフレッシュする必要がありますどのようにこの

 $scope.allShow = function() 
 
    { 
 
$scope.All = true; 
 
$scope.Earned = false; 
 
$scope.Redeemed = false; 
 

 
    //some function 
 
    } 
 
     $scope.earnedShow = function() 
 
    { 
 
$scope.All = false; 
 
$scope.Earned = true; 
 
$scope.Redeemed = false; 
 
    //some function 
 
    } 
 
     $scope.redeemShow = function() 
 
    { 
 
$scope.All = false; 
 
$scope.Earned = false; 
 
$scope.Redeemed = true; 
 
    //some function 
 
    } 
 
    
 
    $scope.doRefresh = function() { 
 

 
    console.log('Refreshing!'); 
 
    $timeout(function() { 
 

 
\t \t // $scope.allShow(); 
 
    
 

 
\t $scope.allShow(); 
 
    $scope.$broadcast('scroll.refreshComplete'); 
 
    
 
    }, 500); 
 
     
 
    };
<ion-content scroll="true" > 
 

 
    \t <ion-refresher on-refresh="doRefresh()" pulling-text="Pull to refresh..."> 
 
</ion-refresher> 
 

 
<div ng-show="All" >All 
 
</div> 
 
    <div ng-show="Earned" >Earned 
 
</div> 
 
    <div ng-show="Redeemed" >Redeemed 
 
</div> 
 
</ion-content>

+0

ソリューションである可能性があります。あなたが投稿したコードでは、 'ng-show'の全てが存在しない' $ scope'プロパティを指しているので、これらの 'div'のどれも表示されません。 – Claies

+0

$ scope.All = false; \t $ scope.Earned = false; $ scope.Redeemed = true; –

+0

これらはそれぞれの関数を表示するために私が使用しているスコープ変数です。私は今コンテンツを取得しています。問題は、特定のスコープをリフレッシュする必要があります。 –

答えて

0

を使用する方法を提案してください。そこたくさんのシンプルなソリューションがありますが、あなたのロジック用:

$scope.doRefresh = function() { 
    console.log('Refreshing!'); 
    $timeout(function() {  
    if ($scope.All === true) { 
     $scope.allShow(); 
    } 
    if ($scope.Earned === true) { 
     $scope.earnedShow(); 
    } 
    if ($scope.Redeemed === true) { 
     $scope. redeemShow(); 
    } 
    $scope.$broadcast('scroll.refreshComplete'); 
}, 500); 

は、それはあなたがここに求めているものは全く明らかではありません

+0

それは働いている!どうもありがとう! –

関連する問題