स्क्रीन पर एचटीएमएल को लूप और रेंडर कैसे करें मैं एक विजेट पर काम कर रहा हूं जो जेसन का उपयोग कर डेटाबेस से तीसरे पक्ष की जानकारी खींचता है। एक बार जानकारी एकत्र हो जाने के बाद, मैं जानकारी के माध्यम से लूप करने और आवश्यक HTML कोड बनाने और इसे {{variable}}पॉलिमर:
के माध्यम से टेम्पलेट में डालने की योजना बना रहा हूं, अब मुझे एक अप्रत्याशित परिणाम मिल रहा है। जब मैं ऐसा करता हूं, तो HTML को टेक्स्ट के रूप में प्रदर्शित किया जा रहा है।
"<div>Name 1</div>" "<div>Name 2</div>" ... n
बजाय::
<polymer-element name="loop-element">
<template>
{{customerList}}
</template>
<script>
Polymer('loop-element', {
ready: function() {
this.loadCustomerList();
}
customerList:"Loading customer list...",
loadCustomerList: function() {
CustomerNameArray[] = //Get the array from jSon file
i = 0;
do {
this.customerList = "<div>" + customerNameArray[i] + "</div>";
} while (customerNameArray[i]);
}
});
</script>
</polymer-element>
अनिवार्य रूप से DIV के रेंडर नहीं किया जा रहा है, इसके बजाय वे स्क्रीन पर पाठ के रूप में मुद्रित किया जा रहा है:
यहाँ मुद्दे के कुछ sudo कोड है
Name 1
Name 2
Name n...
आप यहां एक जेएसबीन उदाहरण देख सकते हैं: http://jsbin.com/tituzibu/1/edit
क्या कोई भी टेम्पलेट में सूची आउटपुट करने के बारे में सलाह दे सकता है?
आप डोम के लिए सीधे HTML बाध्य नहीं कर सकते हैं। सुरक्षा सावधानी के रूप में यह हमेशा से बच निकला है। अगर आपको आज ऐसा करने की ज़रूरत है, तो आपको इसे अनिवार्य रूप से करना होगा, 'this.innerHTML = someHtml;' या उसके बराबर। –