में बाइंडिंग के साथ टेक्स्ट रैपिंग तत्व मैंने पॉलिमर के साथ एक कस्टम वेब घटक बनाया है, जो पाठ को लपेटता है और इसे थोड़ा बदल देता है (अवधारणा के इस सबूत में अपरकेस में बदल रहा है)।पॉलिमर 1.0
तत्व स्वयं स्थिर सामग्री के साथ ठीक काम करता है। हालांकि, जब सामग्री गतिशील रूप से बाध्य होती है, तो घटक सामग्री को दिखाने में विफल रहता है।
उदाहरण के लिए:
<my-wrapper>Hello, World!</my-wrapper> <!-- Works -->
<my-wrapper>[[someText]]</my-wrapper> <!-- Doesn't work -->
वर्तमान में मैं observeNodes का उपयोग कर रहा है, जो प्रारंभिक पाठ बदलने को गति प्रदान करने में सफल हुआ है, लेकिन उप-अनुक्रमिक परिवर्तन को गति प्रदान करने में विफल रहता है।
मेरे वर्तमान प्रोटोटाइप के रूप में परिभाषित किया गया है:
<dom-module id="my-wrapper">
<template>
<span id="placeholder"></span>
</template>
<script>
Polymer({
is: 'my-wrapper',
ready: function() {
var self = this;
Polymer.dom(Polymer.dom(this)).observeNodes(function(info) {
self.$.placeholder.textContent = info.target.textContent.toUpperCase();
});
/*var mutationObserver = new MutationObserver(function(e) {
console.log(e);
});
mutationObserver.observe(this.root, {characterData: true, childList: true});*/
},
});
</script>
</dom-module>
और ऊपर उल्लिखित समस्या के लिए एक काम कर JSBin यहां पाया जा सकता: http://jsbin.com/jumewuzuho/1/edit?html,console,output।
(प्रकाश डीओएम) सामग्री के परिवर्तन को कैप्चर करने के तरीके पर कोई सुझाव, ताकि मैं पाठ को फिर से बदल सकूं?
जैसा कि आप कोड के टिप्पणी ब्लॉक में देख सकते हैं, मैंने पहले से ही MutationObserver का उपयोग करने का प्रयास किया है, लेकिन एक कामकाजी प्रोटोटाइप बनाने में विफल रहा है। मेरा अनुमान है कि मैंने सही नोड (this.root
मेरे मामले में) का उपयोग नहीं किया था।
क्या आपको इसका समाधान मिला है? मैं फिलहाल एक टेक्स्ट रैपर भी लिख रहा हूं, लेकिन अब तक मेरे लिए कोई समाधान नहीं हुआ है। नौकरी करने वाली एकमात्र चीज टेक्स्ट को एक विशेषता के रूप में पास कर रही है (जो मेरी राय में साफ नहीं है) – Yorrd
@Yorrd: नहीं, मुझे अभी तक समाधान नहीं मिला है। मैंने 'टेम्पलेटर' व्यवहार के साथ 'टेम्पलेट' टैग के अंदर तत्व की सामग्री डालने का भी प्रयास किया है, लेकिन किसी भी उपयोगी परिणाम देने में विफल रहा है। – alesc