android - Ionic2 में एक पृष्ठ को रीफ्रेश करें




html ios (4)

क्या केवल एक पृष्ठ को रिफ्रेश करने का एक तरीका है Ionic2 में केवल एक स्क्रीन।

मैंने कोशिश की :

window.location.reload();

तथा

location.reload();

लेकिन यह ऐप पुनर्निर्माण करता है .. केवल उस पृष्ठ को रिफ्रेश करने का एक तरीका है (विशेष स्क्रीन)।

यह भी कोशिश की:

<ion-input *ngIf="no_internet === 1" (click)="refresh($event)"></ion-input>

टाइपस्क्रिप्ट में:

refresh(refresher) {
    console.log('Begin async operation', refresher);

    setTimeout(() => {
        console.log('Async operation has ended');
        refresher.complete();
    }, 2000);
}


इसे आज़माएं: $window.location.reload(); $route.reload() use to reload route. $window.location.reload(); $route.reload() use to reload route.

यदि आप $stateProvider : $state.go($state.current, {}, {reload: true}) का उपयोग कर रहे हैं $stateProvider : $state.go($state.current, {}, {reload: true}) ;

या

var currentPageTemplate = $route.current.templateUrl;
$templateCache.remove(currentPageTemplate);
$route.reload();

यदि आप एक आम सम्मेलन का पालन करने के लिए तैयार हैं, तो मुझे वर्तमान दृश्य (इसके सभी पैरामीटर सहित) को पुनः लोड करने का एक आसान तरीका मिल गया है। मैंने इसे Ionic3 का उपयोग करके परीक्षण किया, लेकिन यह अभी भी Ionic 2 में लागू होना चाहिए

ionViewDidLoad() में प्रत्येक पृष्ठ के लिए अपने सभी इनिशियलाइज़ेशन कोड को ले जाएं, जो पहली बार दृश्य लोड होने पर चालू होता है

import { Component } from '@angular/core';
import { NavController, NavParams } from 'ionic-angular';
import { Api } from '../../providers/api';
import { Movie } from '../../interfaces/movie';

@Component({
    selector: 'page-movie-info',
    templateUrl: 'movie-info.html'
})
export class MovieInfoPage {

    constructor(
        public navCtrl: NavController,
        public navParams: NavParams,
        public api: Api
    ) {
    }

    /**
     * Run all page initialization in this method so that this page
     * can be refreshed simply by re-calling this function
     */
    ionViewDidLoad() {
        //access any parameters provided to the page through navParams. 
        var movieId = this.navParams.data.movieId;
        this.api.movies.getById(movieId).then((movie) => {
            this.movie = movie;
        });
    }
    public movie: Movie;
}

ऐप में कहीं और से, आप वर्तमान दृश्य को इस कोड के साथ पुनः लोड कर सकते हैं

//get the currently active page component
var component = this.navController.getActive().instance;
//re-run the view load function if the page has one declared
if (component.ionViewDidLoad) {
    component.ionViewDidLoad();
}

मैं ऐसा करूँगा: (अहमद अगाजादे के उत्तर के आधार पर)

this.navCtrl.push(this.navCtrl.getActive().component).then(() => {
   let index = this.viewCtrl.index;
   this.navCtrl.remove(index);
})

=> एक बार फिर इस पेज को पुश करें (इसे फिर से लोड करना)

=> जिस पृष्ठ पर हम थे (इंडेक्स का उपयोग करके) निकालें





ionic2