2015-12-28 24 views
5

मैं ES6 वाक्यविन्यास का उपयोग कर <markdown-component> बनाने की कोशिश कर रहा हूं। @Input सिंटैक्स चीनी ES6 में समर्थित नहीं है और मुझे व्यवहार्य विकल्प नहीं मिल रहा है।कोणीय 2 ES6 @ इनपुट विकल्प

मैं के साथ माता-पिता में इनपुट को परिभाषित कर रहा हूँ: फिर इनपुट का उपयोग कर स्वीकार करने

<ng2-markdown [source]="source"></ng2-markdown> 

:

@Component({ 
    selector: 'ng2-markdown', 
    inputs: [ 'source' ] 
}) 

मैं एक टेम्पलेट जोड़ने अगर मैं प्राप्त कर सकते हैं यह उत्पादन मूल्य होगा अपेक्षा के अनुरूप लेकिन कन्स्ट्रक्टर में इनपुट का उपयोग करने का कोई तरीका नहीं है।

यह मॉड्यूल वास्तव में एक निर्देश होना चाहिए, और source मान मार्कडाउन फ़ाइल लोड होने के पथ को परिभाषित करेगा।

+3

विकल्प सही है, लेकिन निर्माण समय पर यह काम नहीं करेगा। यह कम से कम ngOnInit में होना चाहिए। –

+0

@EricMartinez आपको बहुत बहुत धन्यवाद। मैं उस पर घंटों तक फंस गया हूं। मैं एक जवाब जोड़ूंगा जो दिखाता है कि क्या काम करता है - उम्मीद है - यह दूसरों की मदद करेगा। –

+0

आप '@ इनपुट' का उपयोग नहीं करना चाहते हैं क्योंकि यह ES6 नहीं है लेकिन साथ ही आप '@ घटक' का उपयोग करते हैं। कैसे? – zeroflagL

उत्तर

2

@Eric Martinez की टिप्पणी के लिए धन्यवाद, मैं इसे काम करने में सक्षम था।

इनपुट लाइफसाइकिल के OnInit चरण तक उपलब्ध नहीं हैं।

काम किया है:

... 
export class MarkdownComponent { 
    constructor() {} 

    ngOnInit() { 
    console.log(this.source); 
    } 
... 

मैं निर्माता में इनपुट का उपयोग करने की कोशिश कर रहा था, इससे पहले कि आदानों प्रारंभ किया गया।

+0

असंबद्ध, लेकिन मैंने पिछली 1+ घंटे बिताए हैं कि बाहरी लाइब्रेरी को शामिल करने का प्रयास करने का प्रयास करने का प्रयास किया गया है (मेरी मार्कुलर पार्सर का उपयोग करने की भी उम्मीद थी) मेरी अंगुलर 2 + सिस्टमजेएस ऐप में थोड़ी सी सफलता के साथ - आप कैसे समाप्त हुए इसे कर रहा हूँ? – jjwon

+0

@jjwon मैं आयात प्रबंधित करने के लिए जेएसपीएम का उपयोग करता हूं। यह संकुल को स्थापित करने, निर्भरताओं को स्थापित करने, और config.js में लेबल में सबकुछ मैप करने का ख्याल रखता है। मार्कडाउन पार्सर के बारे में खेद है, मैंने सचमुच उस प्रोजेक्ट को दूसरे प्रोजेक्ट से घटक निकालने के द्वारा बनाया था। मैं दूसरों को चेतावनी देने के लिए एक नोट जोड़ दूंगा जब तक कि मैं परीक्षण/सत्यापित नहीं कर सकता कि यह काम करता है। यदि आप एक कार्यशील कार्यान्वयन देखना चाहते हैं, तो मेरी व्यक्तिगत साइट (evanplaice.com) के लिए रेपो चेकआउट करें। –

+0

@jjwon मैंने सत्यापित किया कि मार्कडाउन घटक जेएसपीएम के माध्यम से स्थापित होने पर काम करता है। मैंने इसके उपयोग को प्रदर्शित करने के लिए एक अलग परियोजना भी बनाई। https://github.com/evanplaice/ng2-markdown-component-demo –

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