Sunday 15 March 2015

javascript - Use template helpers to make text reactive in a Meteor template -


मेरे पास एक फ़ंक्शन है:

  फ़ंक्शन प्रिंट (स्ट्रिंग, संख्या) {if (number == 1) {// विवरण के लिए currentdesc = string; } और अगर (संख्या == 2) {// पहली पसंद currentchoice1 = string; } और अगर (संख्या == 3) {// दूसरे विकल्प के लिए currentchoice2 = स्ट्रिंग; }}   

और कुछ टेम्पलेट्स जो इन मानों को पृष्ठ पर प्रदर्शित करने के लिए उपयोग करते हैं:

  if (Meteor.isClient) {Template.main.desc = currentdesc; Template.below.choice1 = currentchoice1; Template.below.choice2 = currentchoice2; }   

और उनमें से एचटीएमएल का हिस्सा है:

  & lt; टेम्पलेट नाम = "मुख्य" & gt; & LT; h2 & gt; वर्तमान: & lt; / h2 & gt; {{Desc}} & lt; / टेम्पलेट & gt; & Lt; टेम्पलेट नाम = "नीचे" & gt; & LT; h3 & gt; चुनें: & lt; / h3 & gt; {{Choice1}} & lt; br / & gt; {{Choice2}} & lt; br / & gt; & Lt; div & gt; & Lt; इनपुट आईडी = "संख्या" प्रकार = "टेक्स्ट" आकार = "40" & gt; & Lt; इनपुट प्रकार = "बटन" वर्ग = "चुनें" मान = "विकल्प" & gt; & Lt; / div & gt; & Lt; / टेम्पलेट & gt;   

जब मैं फ़ंक्शन को पहली बार कॉल करता हूं तो यह दिखाता है कि मुझे सही ढंग से क्या चाहिए। उसके बाद, जब भी मैं उस फ़ंक्शन को फिर से कॉल करता हूं, पृष्ठ पर पाठ एक समान रहता है, चाहे मैं जो भी करता हूं। वेरिएबल currentdesc , currentchoice1 और currentchoice2 अपेक्षित अनुसार तदनुसार परिवर्तन करते हैं, लेकिन टेम्पलेट अपडेट नहीं करते हैं। < चर प्रतिक्रियाशील करने के लिए <

सत्र का उपयोग करें:

  फ़ंक्शन प्रिंट (स्ट्रिंग, संख्या ) {If (number == 1) {// विवरण सत्र के लिए ;set ('currentdesc', स्ट्रिंग); } और अगर (संख्या == 2) {// पहली पसंद सत्र .set ('currentchoice1', स्ट्रिंग); } और अगर (संख्या == 3) {// दूसरी पसंद सत्र .set ('currentchoice2', स्ट्रिंग) के लिए; }}   

और अपने टेम्पलेट:

  यदि (Meteor.isClient) {Template.main.desc = function () {return Session.get (' currentdesc '); } Template.below.choice1 = function () {return Session.get ('currentchoice1'); } Template.below.choice2 = function () {return Session.get ('currentchoice2'); }}   

उल्का के दस्तावेज के साथ सत्र का उपयोग करने के लिए कुछ और उदाहरण भी हैं:

No comments:

Post a Comment