2016-01-28 33 views
7

के अंदर jquery/jqueryui जैसे पुस्तकालयों का उपयोग करने का सही तरीका मैंने इस विषय का थोड़ा सा शोध किया है और पुस्तकालयों के लिए टाइपिंग के बारे में पता लगाया है जिन्हें टाइपस्क्रिप्ट के लिए उपयोग करने की आवश्यकता है। जो मैंने ढूंढने के लिए संघर्ष किया वह उपयोग के उदाहरण है, चलिए एक कोणीय 2 अनुप्रयोग के अंदर jquery के लिए कहें।कोणीय 2 घटक

यहाँ कुछ प्रश्न हैं:

1) कहाँ एक ने लिखा है उसकी jQuery कोड है, यह वर्ग के भीतर या उस वर्ग के निर्माता के अंदर है?

2) क्या हमें jQuery कोड को लपेटने के लिए किसी भी बिंदु पर document.ready का उपयोग करने की आवश्यकता है? यानी अगर हम कन्स्ट्रक्टर के अंदर कोड लिखते हैं तो क्या यह इस घटना के बाद चलता है?

उपयोग के कुछ उदाहरण, इन में से एक सही है?

उदाहरण 1

export class MyApp { 
    constructor() { 
     $('.mydiv').hide(); 
    } 
} 

उदाहरण 2

export class MyApp { 
    constructor() { 
    } 

    $('.mydiv').hide(); 
} 

उदाहरण 3

export class MyApp { 
    constructor() { 
    } 

    $(document).ready(function() { 
    $('.mydiv').hide(); 
    } 
} 

उत्तर

10

आदर्श रूप में आपको इंतजार करना चाहिए जब तक डीओएम उपलब्ध नहीं कराया जाता है, तब तक घटक सामग्री प्रारंभ हो जाती है, जिस पर आप jQuery लागू करना चाहते थे। इसके लिए आपको AfterViewInit का उपयोग करने की आवश्यकता है जो hook of angular2 lifecycle में से एक है।

आपको कक्षा में AfterViewInit लागू करने की आवश्यकता है और जब भी सामग्री सामग्री तैयार हो जाती है तो सूचित करने के लिए ngAfterViewInit विधि लिखें।

import { AfterViewInit } from 'angular2/core'; 

export class MyApp implements AfterViewInit { 
    constructor() { 
    } 

    ngAfterViewInit(){ 
     //here you will have code where component content is ready. 
     $('.mydiv').hide(); 
    } 
} 
+1

आपके कोड का जिक्र करते हुए मैंने 'materializecss