2015-06-12 7 views
6

मैं कैसे ऑटो बाध्यकारी टेम्पलेट्स में गणना बाइंडिंग (अर्थात उन <template is='dom-bind'>...</template> के रूप में घोषित) को परिभाषित कर सकते हैं?गणना बाइंडिंग 1.0

उत्तर

6

बस एक स्क्रिप्ट के माध्यम से टेम्पलेट तत्व को सीधे बाध्यकारी अभिकलन, सुनिश्चित करें कि इसमें शामिल गुण गणना की बाइंडिंग की परिभाषा के बाद प्रारंभ कर रहे हैं बनाने आवंटित।

उदाहरण:

<template is="dom-bind"> 
    <div> 
    <input value="{{text::input}}"> 
    </div> 
    <div>[[describe(text)]]</div> 
</template> 

<script> 
    (function() { 
    var template = document.querySelector('template[is="dom-bind"]'); 

    template.describe = function(text) { 
     if (text) { 
     return 'You entered "' + text + '", which is ' + text.length + ' characters long.'; 
     } else { 
     return 'You didn\'t even enter a thing! Shame on you.'; 
     } 
    }; 

    template.text = ''; 
    })(); 
</script> 
+1

यह काम करता है, सिवाय इसके कि बाध्यकारी होता है _after_ प्रतिपादन होता है। नतीजतन, अगर मैं 'template.text = 'प्रारंभिक पाठ' को प्रारंभ;' के बाद वर टेम्पलेट = document.querySelector ('...') 'ठीक है,', बंधन अभी गाया नहीं है अभिकलन: मैं एक चेतावनी मिलती है कंसोल आउटपुट में '[dom-bind :: _ annotatedComputationEffect]: गणना विधि' वर्णन 'परिभाषित नहीं है'। हालांकि, बाध्यकारी तब होता है जब मैं इनपुट बॉक्स में टाइप करना शुरू करता हूं। इस पर कोई विचार? –

+0

@es_code, मैं आगे बढ़ गया और स्थानीय स्तर पर कोड कॉपी किया और समस्या को आजमाने और पकड़ने के लिए इसे चलाया; दुर्भाग्य से (या सौभाग्य से?) मुझे क्रोम और फ़ायरफ़ॉक्स दोनों में कंसोल में कोई चेतावनी/त्रुटियां नहीं मिलीं। [यहां मैंने सटीक कोड का परीक्षण किया है।] (Http://pastebin.com/AkWFcsZa) क्या आप उस वातावरण के बारे में कुछ और विवरण प्रदान कर सकते हैं जिसमें आप चेतावनी देख रहे हैं? मैं समस्या के बाहर संस्करणों के किसी भी प्रश्न को खत्म करने के लिए पॉलिमर और WebComponents.js पॉलीफिल के नवीनतम मामूली संस्करणों को अद्यतन करने की भी सिफारिश करता हूं। मैं कोशिश करने और इसे दोहराने के लिए उत्सुक हूँ! –

+0

[एक नज़र डालें] (http://pastebin.com/6PzCpvKy)। मैंने आपके जावास्क्रिप्ट कोड में 'सेटटाइमआउट' देरी जो पर्यावरण से निपटने के लिए अनुकरण करने के लिए जोड़ा है। यहां बिंदु यह है कि 'is = "dom-bind" 'तत्व को तब तक कुछ समय लग सकता है जब निष्पादन कोड को' वर्णन 'परिभाषित करता है। नियमित बहुलक तत्व में यह कोई मुद्दा नहीं है क्योंकि सभी आवश्यक बाइंडिंग समय-समय पर होती हैं। (मैं भी 'template.text = 'प्रारंभिक पाठ' जोड़ा गया;।' यह स्पष्ट करना बाध्यकारी शुरू में गणना नहीं है अभिकलन कि '[डोम-बाँध :: _ ... विधि 'का वर्णन' चेतावनी defined' नहीं के लिए देखो ।) –

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