2017-01-26 14 views
6

मैं कोणीय 2 में काफी नया हूं, और मैं अपने टेम्पलेट में एक चर में एक स्ट्रिंग दिखाना चाहता हूं जिसमें एक और चर के अंदर होना चाहिए। मैं तुम्हें मैं क्या मेरी समस्या है और क्या हासिल करना चाहते का एक सरल उदाहरण दिखाएगा:कोणीय 2 - टेम्पलेट में एक चर के अंदर प्रदर्शन चर


questionnaire.component.ts

/* Starts being "", populating an input text will modify this */ 
name = "Albert"; 

/* This variable comes from calling an API, here I just put it as created to simplify */ 
question.title = "Hello {{name}}, how old are you?"; 

questionnaire.template.html

<p>{{question.title}}</p> 

परिणाम मुझे मिल रहा है:

हैलो {{name}}, आप कितने साल के हैं?

और मेरे वांछित परिणाम होगा:

हैलो अल्बर्ट, तुम कितने साल के हैं?

मैं "{{}}" स्ट्रिंग मेरी DB पर संग्रहीत में, घुंघराले ब्रेसिज़ के बजाय ASCII वर्ण इस्तेमाल किया भागने की कोशिश की है, [innerHTML] अंदर डाल दिया ... लेकिन परिणाम हमेशा एक ही था।

क्या आप जानते हैं कि मैं इसे कैसे हल कर सकता हूं?

बहुत बहुत धन्यवाद!

उत्तर

12

{{}} केवल कोणीय घटक टेम्पलेट्स में काम करता है और मनमाने ढंग से तारों में नहीं और HTML में गतिशील रूप से डीओएम में जोड़ा नहीं जाता है।

बस टाइपप्रति स्ट्रिंग प्रक्षेप का उपयोग करने के

question.title = `Hello ${this.name}, how old are you?`; 

के लिए इसे बदल।

+0

धन्यवाद! इसने एक जादू की तरह काम किया। मुझे लगता है कि अगर मैं "शीर्षक" फ़ील्ड 'हैलो $ {this.name} ...' है, तो क्या मैं डीबी से ऑब्जेक्ट "प्रश्न" प्राप्त करता हूं, अगर यह ऑब्जेक्ट सीधे "एपीआई" है। – AMarquez94

+0

क्षमा करें, मुझे नहीं पता कि इसका क्या अर्थ है। यह इस बात पर निर्भर करता है कि आपने अपना कोड कहां रखा है और यदि कोड कहां से निष्पादित किया गया है, तो 'this.name' उपलब्ध है, लेकिन सिद्धांत रूप में यह हर जगह टीएस कोड में काम करता है। –

+1

ठीक है, चिंता न करें, इसे स्वयं करने का प्रयास करें और देखें कि यह मेरे विशेष मामले में काम करता है या नहीं। आपको पुन: बहुत धन्यवाद! – AMarquez94

1

angular2 में आप का उपयोग करने के इस कीवर्ड

उदाहरण के लिए, $ {this.name}

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