सेटडेट विधि का उपयोग करके संशोधित दिनांक वस्तुएं टेम्पलेट में अपडेट नहीं हो रही हैं।Angular2 में दिनांक ऑब्जेक्ट्स के साथ परिवर्तनों का पता कैसे लगाएं?
टेम्पलेट में:
<p>{{date | date:'mediumDate'}}</p>
घटक में:
nextDay(){
this.date.setDate(this.date.getDate()+1);
}
लेकिन जब मैं nextDay समारोह, टेम्पलेट नहीं है नया मान के साथ अद्यतन कहते हैं।
एक ही रास्ता मैं परिवर्तन का पता लगाने मिल सकता है वर्किंग इस कर रहा था:
nextDay(){
var tomorrow = new Date();
tomorrow.setDate(this.date.getDate()+1);
this.date = tomorrow;
}
वहाँ एक बेहतर तरीका यह एक ही कार्य को पूरा करने हैं?
'तारीख' पाइप शायद स्टेटलेस है, इसलिए इसे 'दिनांक' इनपुट संपत्ति परिवर्तन देखने की आवश्यकता है, या पाइप फिर से निष्पादित नहीं होगा। जैसा कि @jadesdev ने अपने उत्तर में उल्लेख किया है, चूंकि 'तारीख' एक वस्तु है, और कोणीय केवल संदर्भ जांच है, आपको संदर्भ को रीसेट करने की आवश्यकता है (एक नई/अलग वस्तु पर)। –
मैंने इसे अभी पाइप के बिना एक शॉट दिया, और इसका एक ही परिणाम। यदि आप तिथि को बदलते हैं तो यह टेम्पलेट परिवर्तन को ट्रिगर नहीं करेगा, केवल एक संदर्भ परिवर्तन टेम्पलेट परिवर्तन को ट्रिगर करता है –