javascript - Windows store js app navigation control cause data binding problems -
// file.html
& lt; div id = "RankingTemplate" डेटा जीत -control = "WinJS.Binding.Template" & gt; & LT; h2 & gt; & Lt; span class = "संख्या" डेटा-जीत- bind = "innerText: place" & gt; & lt; / span & gt; & LT; span id = "ratingControlDiv" डेटा-जीत-नियंत्रण = "WinJS.UI.Rating" डेटा-जीत-बाँध = "winControl.averageRating: रेटिंग" डेटा-जीत विकल्पों = "{maxRating: 5, विकलांग: सच} "& gt; & lt; / span & gt; & Lt; लेबल = "रेटिंग नियंत्रण डीवाईवी" डेटा-जीत-बाइंड = "इनर टेक्स्ट: वोट" & gt; & lt; / label & gt; & Lt; span class = "नाम" डेटा-जीत-बाइंड = "इनर टेक्स्ट: शीर्षक" & gt; & lt; / span & gt; & Lt; / h2 & gt; & Lt; / div & gt; & Lt; div id = "RankingList" डेटा-जीत-नियंत्रण = "WinJS.UI.ListView" डेटा-जीत विकल्पों = "{itemDataSource: sourceData.itemRankingData.dataSource, ItemTemplate: RankingTemplate, tapBehavior: 'कोई नहीं', swipeBehavior: ' कोई नहीं ', लेआउट: {type: WinJS.UI.ListLayout}} "& gt; & lt; / div & gt; // file.js
वर dataRankingArray = [{जगह: 1, रेटिंग: 4.75, वोट: "(2500000 वोट)", शीर्षक: "स्थान: 3, रेटिंग: 3.8, वोट:" (200 वोट) ", शीर्षक:" मारियस "}, {जगह: 2, रेटिंग: 4.5, वोट:" (190 वोट) ", शीर्षक:" नापोलिस "}, "Oliva रेस्तरां"}, {जगह: 4, रेटिंग: 3.42, वोट: "(215 वोट)", शीर्षक: "Tucano Coffe"}, {जगह: 5, रेटिंग: 3.1, वोट: "(197 वोट)", शीर्षक: "रॉबर्ट कॉफ़ी"}]; Var डेटा रैंकिंग सूची = नया विनज। बाध्यकारी.लिस्ट (डेटारांकिंगअरे); Var सार्वजनिक सदस्य = {आइटम रैंकिंगडेटा: डेटा रैंकिंग सूची}; WinJS.Namespace.define ("sourceData", सार्वजनिक सदस्य); // स्क्रीनशूट
जब एप्लिकेशन को छवि से पहले होमपेज पर लोड किया जाता है, और ये सभी ठीक से काम कर रहे हैं।
< / P>
जब मैं वर्तमान पृष्ठ (होम) से नेविगेट करने की कोशिश करता हूं, एक ही पेज (होम) में नेविगेशन नियंत्रण के साथ सूची में टेम्प्लेट लोड नहीं हो रहा है। और परिणाम अगले चित्र में दिखाया गया है। < / P>
के बाद
सबसे अधिक संभावना यह समस्या इसलिए है क्योंकि बॉक्स के बाहर navigator.js समान पृष्ठ नेविगेशन का समर्थन नहीं; नया पृष्ठ लोड होने के बाद पुराने पृष्ठ अनलोड करता है दो आसान समाधान दिए गए हैं:
- एक अलग कार्य करने के लिए अपने पृष्ठ प्रवर्तन कोड को अलग करें, और पृष्ठ पुनः लोड करने के बजाय, बस प्रारंभ फोन (जैसे, यह तैयार () फ़ंक्शन से बाहर चले जाते हैं।) फ़ंक्शन।
- Navigator.js के Win8 संस्करण का उपयोग करें, जो मेरा मानना है कि अलग व्यवहार है।
यदि आपको अपने डेटा को अपडेट करने की आवश्यकता है, तो आप इस तरह से कोड का उपयोग कर सकते हैं पृष्ठ को पुनः लोड करने के बजाय:
var lv = document.getElementById ("रैंकिंग सूची"); Lv.itemDataSource = sourceData.itemRankingData.dataSource;
Comments
Post a Comment