2016-12-12 12 views
34

अंदर मैं अपने वर्गकोणीय 2 - का उपयोग करते हुए 'इस' setTimeout

showMessageSuccess(){ 

    var that = this; 
    this.messageSuccess = true; 

    setTimeout(function(){ 
     that.messageSuccess = false; 
    },3000); 

    } 

में इतनी तरह एक समारोह है मैं इस फिर से लिख सकते हैं तो मैं 'इस' में के लिए एक संदर्भ स्टोर करने के लिए की जरूरत नहीं है 'वह' var? अगर मैं setTimeout के अंदर 'यह' का उपयोग करता हूं, तो संदेश SUccess bool को बदलना/अपडेट नहीं लगता है।

उत्तर

113

आप ArrowFunction ()=> उपयोग करने के लिए setTimeOut भीतर this संदर्भ बनाए रखने की जरूरत है।

// var that = this; // no need of this line 
this.messageSuccess = true; 

setTimeout(()=>{ //<<<--- using()=> syntax 
     this.messageSuccess = false; 
},3000); 
+0

यह हमेशा काम करता है। कुछ और समस्या हो सकती है। मैं चाहता हूं कि आप इसकी जांच कर लें या आप एक प्रासंगिक प्रश्न @RomainBruckert – micronyks

+0

सच पूछ सकते हैं, आप सही हैं ... असंबद्ध, क्षमा करें! ;-) –

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