2016-11-05 20 views
5

मुझे लगता है कि इस विषय पर पहले से बनाए गए किसी भी धागे को नहीं मिला है।आयनिक 2 कॉर्डोवा घटनाओं का उपयोग कैसे करें

आयोनिक 2 में NavController में पृष्ठों की जीवन चक्र है: ionView[didLoad|didLeave|...]

और Cordova events कि अपेक्षा की जाती है इस तरह के नाम से जाना देखते हैं: document.addEventListener("pause", onPause, false);

मैं एक स्थिति जहां मैं चाहता हूँ में हूँ कॉर्डोवा घटनाओं को पाने के लिए। पृष्ठों का आयनिक जीवनशैली फिट नहीं है क्योंकि जब मैं onResume स्थिति में जो भी पेज दिखाता है, तब मैं क्या करना चाहता हूं।

मैं अभी तक यह कोशिश की है नहीं, क्योंकि मैं पहले जा रहा पर रखने के लिए यहां एक अच्छा नेतृत्व को खोजने के लिए उम्मीद कर रहा था, लेकिन मैं महसूस कर रही है कि document Angular2, Ionic2 से सुलभ नहीं होगा और कहा कि मैं लूंगा शायद window तक पहुंचने के लिए एक सेवा जोड़नी होगी जैसे कि इसे here समझाया गया है।

या क्या Ionic 2 में document.addEventListener(...) तक पहुंचने का कोई और ज्ञात तरीका है?

उत्तर

23

जिस तरह से यह आयोनिक 2 में काम करता है here

मूल रूप से विस्तृत है, तो आप अपने पेज में Platform उदाहरण इंजेक्षन और pause घटना emitter की सदस्यता के लिए की जरूरत है:

import { Component } from '@angular/core'; 
import { Subscription } from 'rxjs'; 
import { Platform } from 'ionic-angular'; 

@Component({...}) 
export class AppPage { 
    private onResumeSubscription: Subscription; 

    constructor(platform: Platform) { 
    this.onResumeSubscription = platform.resume.subscribe(() => { 
     // do something meaningful when the app is put in the foreground 
    }); 
    } 

    ngOnDestroy() { 
    // always unsubscribe your subscriptions to prevent leaks 
    this.onResumeSubscription.unsubscribe(); 
    } 
} 
+0

मैं अभी यह कोशिश नहीं करूंगा लेकिन यह सही और दस्तावेज लगता है इसलिए मैं जवाब को मान्य करता हूं। – nyluje

+0

रोके जाने पर मैं क्या कर सकता हूं? विराम और फिर से शुरू करने का बिंदु क्या है? – SR1

3

मैं भी कर रहा था Ionic2 पेज उदाहरण के कन्स्ट्रक्टर विधि से काम कर रहे दस्तावेज़ .addEventListener प्राप्त करें

document.addEventListener("pause", function() { 
    // do something 
    }, true); 

    document.addEventListener("resume", function() { 
    // do something 
    }, true); 
संबंधित मुद्दे