2016-08-17 8 views
8

मेरे पास Google मानचित्र हैं जो प्रति सेकंड परिवर्तन पहचान 100+ बार ट्रिगर करते हैं। इसके लिए परिवर्तन पहचान को अक्षम कैसे करें।तृतीय पक्ष पुस्तकालयों के लिए कोणीय 2 परिवर्तन पहचान को अक्षम करने के लिए कैसे करें

Click here for map preview

यह जब माउसओवर घटना का उपयोग कर और भी बदतर हो जाएगा।

ngDoCheck() { 
    console.log('do check', this.i++); 
} 
+0

मैं यह नहीं लगता कि 3 पार्टी से संबंधित है अस्थायी रूप से अक्षम परिवर्तन का पता लगाने के लिए एक अन्य विकल्प directived। कोणीय 2 प्रत्येक घटना के बाद परिवर्तन का पता चलता है। मैन्युअल परिवर्तन पहचान करने के लिए आप 'ChangeDetectionStrategy.OnPush' सेट करें। –

उत्तर

16

मैं एक ही मुद्दा था, NgZone से runOutsideAngular विधि का उपयोग एक कॉलबैक में गूगल चार्ट से ड्रॉ विधि डाल करने के लिए, कर अपने घटक निर्माता पर NgZone वर्ग इंजेक्शन लगाने

constructor(private zone: NgZone) { 

) 

तो कोशिश कुछ इस तरह।

this.zone.runOutsideAngular(() => { 
    var chart = new google.visualization.PieChart(nativeElement); 
    chart.draw(dataTable, options); 
}) 

यह निष्पादित कोड कोणीय पहचान में परिवर्तन नहीं करता है। आपके द्वारा बनाए गए प्रत्येक चार्ट के लिए इसे लागू करें। मुझे उम्मीद है कि यह सहायक होगा।

Thanks to this

+0

धन्यवाद। इसे मेरी कंपनी वेबसाइट कैनवास एनीमेशन पर इस्तेमाल किया गया https://github.com/aviabird/website/blob/master/src/app/shared/services/canvas-animate.service.ts – pkrawat1

6

ChangeDetectorRef

enabled = true; 
constructor(private ref: ChangeDetectorRef) 

toggleChangeDetection() { 
    if (this.enabled) 
    { 
    this.enabled = false; 
    this.ref.detach(); 
    } 
    else { 
    this.enabled = true; 
    this.ref.reattach(); 
} 
संबंधित मुद्दे

 संबंधित मुद्दे