फ्रेमवर्क 7 - टेम्पलेट 7 पेज

विवरण

Template7 एक मोबाइल-प्रथम जावास्क्रिप्ट टेम्पलेट इंजन है जिसमें सिंटैक्स की तरह handlebars.js है। यह फ्रेमवर्क 7 में अल्ट्रा लाइटवेट और ब्लेजिंग-फास्ट डिफॉल्ट टेम्पलेट इंजन है।

सबसे पहले, हमें ऐप इनिशियलाइज़ेशन पर निम्नलिखित पैरामीटर को पास करना होगा जो सभी Ajax और डायनेमिक पेजों को टेम्पलेट 7 टेम्पलेट के रूप में प्रस्तुत करता है -

var myApp = new Framework7 ({
   template7Pages: true // enable Template7 rendering for Ajax and Dynamic pages
});
S.No टेम्प्लेट 7 पेज उपयोग और विवरण
1 टेम्प्लेट / पृष्ठ डेटा

आप ऐप को इनिशियलाइज़ करने पर भेजे गए टेम्पलेट 7 डेटा पैरामीटर में सभी पेज डेटा निर्दिष्ट करके विशिष्ट पृष्ठों के लिए आवश्यक डेटा / संदर्भ पास कर सकते हैं ।

2 कस्टम संदर्भ पास करें

फ्रेमवर्क 7 आपको किसी भी डायनेमिक पेज या किसी लोडेड अजाक्स के लिए कस्टम संदर्भ पास करने की अनुमति देता है।

3 लोड टेम्पलेट्स सीधे

आप डायनामिक पेज के रूप में फ्लाई पर टेम्पलेट्स को रेंडर और लोड कर सकते हैं।

4 URL क्वेरी

यदि आप Ajax पृष्ठों को प्रस्तुत करने के लिए टेम्पलेट 7 का उपयोग कर रहे हैं, तो इसका संदर्भ हमेशा विशेष संपत्ति url_query के साथ बढ़ाया जाएगा ।

उदाहरण

निम्न उदाहरण लिंक प्रदान करता है, जो उन लिंक पर क्लिक करने पर उपयोगकर्ता जानकारी, जैसे उपयोगकर्ता विवरण, उपयोगकर्ता पसंद आदि प्रदर्शित करता है।

index.html

<!DOCTYPE html>
<html>

   <head>
      <meta charset = "utf-8">
      <meta name = "viewport" content = "width = device-width, initial-scale = 1, 
         maximum-scale = 1, minimum-scale = 1, user-scalable = no, minimal-ui" />
      <meta name = "apple-mobile-web-app-capable" content = "yes" />
      <meta name = "apple-mobile-web-app-status-bar-style" content = "black" />
      <title>Framework7</title>
      <link rel = "stylesheet" 
         href = "https://cdnjs.cloudflare.com/ajax/libs/framework7/1.4.2/css/framework7.ios.min.css" />
      <link rel = "stylesheet" 
         href = "https://cdnjs.cloudflare.com/ajax/libs/framework7/1.4.2/css/framework7.ios.colors.min.css" />
   </head>

   <body>
      <div class = "views">
         <div class = "view view-main">
            
            <div class = "navbar">
               <div class = "navbar-inner">
                  <div class = "center sliding">Template7 Pages</div>
               </div>
            </div>
            
            <div class = "pages navbar-through toolbar-through">
               <div data-page = "index" class = "page">
                  <div class = "page-content">
                     <div class = "list-block">
                        <ul>
                           <li>
                              //plain data objects allow to pass custom context to loaded page using 'data-context-name' attribute
                              <a href = "#" data-template = "about" data-context-name = "about" class = "item-link item-content">
                                 <div class = "item-inner">
                                    //provides link as 'About'
                                    <div class = "item-title">About</div>
                                 </div>
                              </a>
                           </li>
                           
                           <li>
                              //a context name for this link we pass context path from template7Data root
                              <a href = "/framework7/src/likes.html" class = "item-link item-content">
                                 <div class = "item-inner">
                                    //provides link as 'Likes'
                                    <div class = "item-title">Likes</div>
                                 </div>
                              </a>
                           </li>
                        </ul>
                     </div>
                  </div>
               </div>
            </div>
            
         </div>
      </div>
      
      <script type = "text/template7" id = "about">
         <div class = "navbar">
            <div class = "navbar-inner">
               <div class = "left sliding">
                  <a href = "#" class = "back link"> <i class = "icon icon-back"></i><span>Back</span></a>
               </div>
            
               <div class = "center sliding">About Me</div>
               <div class = "right">
                  <a href = "#" class = "link icon-only open-panel"> <i class = "icon icon-bars"></i></a>
               </div>
            </div>
         </div>
         
         <div class = "pages">
            <div data-page = "about" class = "page">
               <div class = "page-content">
                  <div class = "content-block">
                     <div class = "content-block-inner">
                        //displays the details of the user by using the 'my-app.js' file
                        <p>Hello, i am <b>{{firstname}} {{lastname}}</b>, 
                           <b>{{age}}</b> years old and working as 
                           <b>{{position}}</b> at <b>{{company}}</b>.</p>
                     </div>
                  </div>
               </div>
            </div>
         </div>
      </script>
      
      <script type = "text/javascript" 
         src = "https://cdnjs.cloudflare.com/ajax/libs/framework7/1.4.2/js/framework7.min.js"></script>
         
      <script type = "text/javascript" 
         src = "/framework7/src/js/my-app.js">
      </script>
   </body>

</html>

मेरी-app.js

// Initialize your app
var myApp = new Framework7 ({
   animateNavBackIcon: true,
   
   // Enable templates auto precompilation
   precompileTemplates: true,
   
   // Enabled rendering pages using Template7
   template7Pages: true,
   
   // Specify Template7 data for pages
   template7Data: {
      //provides the url for different page with data-page = "likes"
      'url:likes.html': {
         likes: [
            {
               title: 'Nelson Mandela',
               description: 'Champion of Freedom'
            },
            
            {
               title: 'Srinivasa Ramanujan',
               description: 'The Man Who Knew Infinity'
            },
            
            {
               title: 'James Cameron',
               description: 'Famous Filmmaker'
            }
         ]
      },
      about: {
         firstname: 'William ',
         lastname: 'Root',
         age: 27,
         position: 'Developer',
         company: 'TechShell',
      }
   }
});

// Add main View
var mainView = myApp.addView('.view-main', {
   // Enable dynamic Navbar
   dynamicNavbar: true
});

likes.html

<div class = "navbar">
   <div class = "navbar-inner">
      <div class = "left sliding">
         <a href = "#" class = "back link"> <i class = "icon icon-back"></i><span>Back</span></a>
      </div>
      
      <div class = "center sliding">Likes</div>
      <div class = "right">
         <a href = "#" class = "link icon-only open-panel"> <i class = "icon icon-bars"></i></a>
      </div>
   </div>
</div>

<div class = "pages">
   <div data-page = "likes" class = "page">
      <div class = "page-content">
         <div class = "content-block-title">My Likes</div>
         <div class = "list-block media-list">
         
            //iterate through likes
            <ul>
               {{#each likes}}
                  <li class = "item-content">
                     <div class = "item-inner">
                        <div class = "item-title-row">
                           //displays the title and description by using the 'my-app.js' file
                           <div class = "item-title">{{title}}</div>
                        </div>
                        <div class = "item-subtitle">{{description}}</div>
                     </div>
                  </li>
               {{/each}}
            </ul>
         </div>
      </div>
   </div>
</div>

उत्पादन

ऊपर दिए गए कोड कैसे काम करते हैं, यह देखने के लिए हम निम्नलिखित कदम उठाते हैं -

  • ऊपर दिए गए HTML कोड को इस प्रकार सेव करें index.html अपने सर्वर रूट फ़ोल्डर में फ़ाइल।

  • इस HTML फ़ाइल को http: //localhost/index.html के रूप में खोलें और आउटपुट नीचे दिखाया गया है।

  • उदाहरण लिंक प्रदान करता है, जो उपयोगकर्ता जानकारी प्रदर्शित करता है जैसे कि उपयोगकर्ता विवरण, उपयोगकर्ता पसंद करता है जब आप उन लिंक पर क्लिक करते हैं।