2017-03-14 8 views
4

概要:イオン2リフレッシャートグルイオンリフレッシャーは、ページのロードの

私はイオン2アプリで自分のページがロードリストを埋めるためにネットワーク要求を行います。当初はloads.Thisページは現在補習があるとき、この時点で私は、イオンスピナーをトグルしています:

<ion-refresher (ionRefresh)="doRefresh($event)"> 

    <ion-refresher-content 
    pullingText="Pull to refresh..." 
    refreshingSpinner="circles"> 
    </ion-refresher-content> 

</ion-refresher> 

<ion-spinner *ngIf="loading" color="light" name="circles"></ion-spinner> 

私の希望の動作は、イオンスピナー成分を除去し、ちょうどイオン復習を有効にすることだろうというときページが最初に読み込まれます。イオン復習し、そのスピナーをトリガーする方法はあり

:私はイオンV1とこのカップルの例を見てきましたが、私は角2

質問にそれを上に変換するように見えるカント私のコントローラー(* .ts)から、余分なイオンスピナーの成分をテンプレートから取り除くことができますか?

+0

私はまったく同じことをやろうとしています。あなたは解決策を見つけましたか? –

+0

@AndreasGassmannいいえ私はhavent:/ – Everett

答えて

2

実際にハックを発見しました:

import { Content, Refresher } from 'ionic-angular'; 

export class MyPage { 
    @ViewChild(Content) content: Content; 
    @ViewChild(Refresher) refresher: Refresher; 
... 
    ionViewDidEnter() { 
    this.refresher._top = this.content.contentTop + 'px'; 
    this.refresher.state = 'ready'; 
    this.refresher._onEnd(); 
    } 

リフレッシャーが表示され、トリガーされます。登録されたリフレッシュ関数を暗黙的に呼び出します。

+0

良いアイデア。私はそれを数分で試してみて、あなたに知らせます。 – Everett

+0

これは非常に近いようです。私はバージョン3.2から、これは動作しますが、スピナーを表示していないことがわかりました(ただし、スペースが表示されます)。 'refresher._beginRefresh()'にも同じ効果があるようです。 – Unixmonkey

+0

私にはうまくいく方法が見つかりました。(here)(https://github.com/ionic-team/ionic/issues/11393#issuecomment-316961038)、これはあなたに非常に近いです: 'this.refresher._top = '50px'; this.refresher.state = 'リフレッシュ'; this.refresher._beginRefresh(); ' – Unixmonkey

0

私にとってあなたはイオンスピナー

を必要としないドキュメントは言う:

イオンスピナーコンポーネントはアニメーションSVGスピナーを数多く提供しています。スピナーを使用すると、アプリが積極的に処理/思考/待機/チルインアウトしていることや、それが示すようにしたいことをユーザーにフィードバックすることができます。 は、デフォルトでは、イオンリフレッシャー機能は、このスピナーコンポーネントを使用しています、それは補習がさわやかな状態に

でいる間あなたはそれ

https://ionicframework.com/docs/v2/api/components/refresher/Refresher/

編集を行うにドキュメントの例があります。したがって、データを取得してionViewWillEnterで呼び出す方法を使用してください。How to dismiss Loader after data is ready

+0

私の質問のキーワードは "初期"です。リフレッシャーはどのような場合でも期待どおりに機能します。ページが読み込まれたときに内蔵のイオンスピナーを表示して、最初のhttpリクエストを作成するだけです。 – Everett

+0

データを取得し、ionViewWillEnterで呼び出す方法を使用してください。この記事のコメントを参照してください。http://stackoverflow.com/questions/38095474/how-to-dismiss-loader-after-data-is-ready – Incognito

+0

まだポイントがありません私の質問の。あなたがちょうど言ったことはまさに私がやっていることです。しかし、私はリフレッシュイベントを発行し、リフレッシャーコンポーネントにページロード時のスピナーを表示させたいと思います。 – Everett

関連する問題