मैं एंगुलर में एट्रिब्यूट datetime से time एलिमेंट जोड़ना चाहता हूं:

<time 
class="updated" 
[datetime]="post.modified_gmt">
{{ post.modified_gmt | date: 'short'}}
</time>

लेकिन अगली त्रुटि प्राप्त करें:

त्रुटि: टेम्पलेट पार्स त्रुटियाँ: 'डेटाटाइम' से आबद्ध नहीं हो सकता क्योंकि यह 'समय' की ज्ञात संपत्ति नहीं है। ("वर्ग="प्रविष्टि-तिथि प्रकाशित">{{post.date_gmt | दिनांक: 'लघु'}}

क्या उपाय? किसी भी मदद के लिए धन्यवाद

10
Adam Pery 22 नवम्बर 2017, 10:39
क्या आप समय घटक दिखा सकते हैं?
 – 
GVArt
22 नवम्बर 2017, 10:42
1
क्या आपने datetime को @Input() datetime; के अंदर के घटक के रूप में time के रूप में परिभाषित किया है?
 – 
ranakrunal9
22 नवम्बर 2017, 10:43
दरअसल, 'समय' एचटीएमएल तत्व है: developer.mozilla.org /en-US/docs/Web/HTML/Element/time
 – 
Adam Pery
22 नवम्बर 2017, 11:11

3 जवाब

लोअरकेस [dateTime] को ठीक करें।

<time 
  class="updated" 
  [dateTime]="post.modified_gmt">

{{ post.modified_gmt | date: 'short'}}

</time>

कोशिश करो।

12
Rach Chen 22 नवम्बर 2017, 12:11
आपका बहुत बहुत धन्यवाद! आपका जवाब बिल्कुल सही है
 – 
Adam Pery
23 नवम्बर 2017, 08:37

आप एक गैर-घटक तत्व पर टेम्पलेट बाइंडिंग वाक्यविन्यास का उपयोग कर रहे हैं।

जब आप [datetime]="..." लिखते हैं तो यह एंगुलर को @Input() नाम के datetime से एक्सप्रेशन को बांधने के लिए कहता है, लेकिन <time> टैग किसी भी घटक या निर्देश का हिस्सा नहीं है।

यदि आप चाहते हैं कि एंगुलर तत्व की विशेषताओं के लिए मान निर्दिष्ट करे तो आपको विशेषता सिंटैक्स का उपयोग करना होगा।

<time class="updated" [attr.datetime]="post.modified_gmt">{{ post.modified_gmt | date: 'short'}}</time>

आम तौर पर, आप {{ }} सिंटैक्स का उपयोग करके विशेषताओं को एक्सप्रेशन असाइन कर सकते हैं। जैसे कि <time datetime="{{post.modified_gmt}}"></time>, लेकिन यह केवल तभी काम करता है जब एंगुलर में समर्थित HTML तत्वों और विशेषताओं की श्वेतसूची में विशेषता हो। ऐसा प्रतीत होता है कि datetime समर्थित नहीं है।

आप अपने @NgModule() में NO_ERRORS_SCHEMA जोड़कर त्रुटि संदेश को दबा सकते हैं लेकिन यह केवल त्रुटि को छुपाता है। व्यंजक अभी भी datetime विशेषता सेट नहीं करेगा।

CUSTOM_ELEMENTS_SCHEMA का उपयोग करके अपने स्वयं के कस्टम स्कीमा जोड़ने और datetime विशेषता का समर्थन करने के लिए कोणीय को बताने का एक तरीका है, लेकिन मुझे नहीं पता कि यह कैसे काम करता है और मुझे नहीं लगता कि यह इसके लायक है। इसके बजाय बस [attr.datetime] का उपयोग करें।

2
Reactgular 23 जिंदा 2018, 04:41

नीचे दिए गए समय के लिए datetime को @Input() datetime; के अंदर घटक के रूप में घोषित करें:

import { Component, Input } from '@angular/core';

@Component({
  selector: 'time',
  template: `your template goes here`
})
export class TimeComponent {
  @Input() datetime: any;
}
1
ranakrunal9 22 नवम्बर 2017, 10:46
1
दरअसल, 'समय' एचटीएमएल तत्व है: developer.mozilla.org/en-US/docs/Web/HTML/Element/time
 – 
Adam Pery
22 नवम्बर 2017, 11:27
1
क्या आपने [attr.datetime]="post.modified_gmt" से जांच करने की कोशिश की है?
 – 
ranakrunal9
22 नवम्बर 2017, 12:27