2016-03-21 7 views
9

मैं Skularr को एक कोणीय 2 विशेषता निर्देश के रूप में कार्यान्वित करना चाहता हूं।कोणीय 2 निर्देश: डीओएम परिवर्तनों का पता लगाने के लिए कैसे करें

तो, प्रारूप हो सकता है:

<body my-skrollr> 
</body> 

हालांकि, ताकि इस को लागू करने में, मैं (, < युक्त टैग नीचे बच्चे तत्वों में डोम में परिवर्तन का पता लगाने के लिए इस मामले में सक्षम होना चाहिए शरीर >), ताकि मैं skrollr.init() को कॉल कर सकूं। ताज़ा करें(); और नई सामग्री के साथ काम करने के लिए पुस्तकालय अद्यतन करें।

क्या ऐसा करने का एक सीधा तरीका है कि मुझे पता नहीं है, या मैं गलत तरीके से इस पर पहुंच रहा हूं?

+1

महान प्रश्न !!! –

उत्तर

14

कोणीय उस उद्देश्य के लिए अंतर्निहित कुछ प्रदान नहीं करता है। आप DOM परिवर्तनों का पता लगाने के लिए MutationObserver का उपयोग कर सकते हैं।

@Directive({ 
    selector: '[my-skrollr]', 
    ... 
}) 
class MyComponent { 
    constructor(private elRef:ElementRef) {} 

    ngAfterViewInit() { 
    this.observer = new MutationObserver(mutations => { 
     mutations.forEach(function(mutation) { 
     console.log(mutation.type); 
     }); 
    }); 
    var config = { attributes: true, childList: true, characterData: true }; 

    this.observer.observe(this.elRef.nativeElement, config); 
    } 
} 
+0

उत्परिवर्तन ऑब्सर्वर कन्स्ट्रक्टर में इसे "उत्परिवर्तन" के बजाय "उत्परिवर्तन" होना चाहिए –

+0

@AntonNikiforov धन्यवाद :) –

+0

इसके लिए धन्यवाद ... क्या कोई मुझे बता सकता है कि यह क्या होगा ... यानी कुछ भी नहीं बदला? यदि इसका कोई औचित्य हो। मैं चर को बंद करने के लिए कुछ चाहिए। –

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