2014-07-23 7 views
6

मैं अपनी वेबसाइट मुख्य पृष्ठों के बीच स्विच करने के लिए Polymercore-animated-pages का उपयोग कर रहा हूं।पॉलिमर कोर-एनिमेटेड-पेज डिफ़ॉल्ट पृष्ठ

मैं चुनता हूं कि कौन सा पृष्ठ <section> की आईडी द्वारा दिखाया जाना चाहिए। आप कार्रवाई here में नमूना देख सकते हैं। अब, मेरे पास यह मुद्दा है कि पृष्ठ को लोड करने पर, जिस पृष्ठ को चुना जाना चाहिए उसे यूआरएल से लोड किया जाता है, उदाहरण के लिए www.example.com/home होम पेज दिखाता है, www.example.com/activities गतिविधि पृष्ठ दिखाता है (कोड उदाहरण से बाहर छोड़ा गया है क्योंकि वास्तव में प्रासंगिक नहीं है)।

लेकिन लिंक में प्रदान की गई आईडी मौजूद नहीं होने पर मुझे क्या करना चाहिए? क्या 404 संदेश के साथ डिफ़ॉल्ट core-animated-pages -page दिखाने का कोई विकल्प है? या क्या मुझे हर लिंक की जांच करनी है यदि यह मेरे सभी पृष्ठों की सरणी में है, तो अगर त्रुटि पृष्ठ को मैन्युअल रूप से लोड करें और अन्यथा सही पृष्ठ दिखाएं?

फिर, उदाहरण है: jsbin

संपादित करें: मेरे पृष्ठ को लिंक करने के तरीके को दिखाने के लिए, यहां एक अद्यतन उदाहरण है: jsbin। लिंकिंग अनिवार्य रूप से www.example.com/#home, इत्यादि

उत्तर

1

कुछ ऐसी चीजें हैं जो आप यहां कर सकते हैं।

सबसे सरल मामले में, आप पृष्ठ में मूल्य को सत्यापित कर सकते हैं चेंज हैंडलर। पृष्ठ मौजूद नहीं है, तो यह अद्यतन:

pageChanged: function(){ var foundPage = this.$.pages.querySelector('#' + this.page); if (! foundPage) { this.page = 'error' } ...

देखें: http://jsbin.com/xequvone/14/edit

आप core-animated-pages के लिए सीधे core-menu बाध्य नहीं है, तो आप जो कुछ भी तर्क आप चाहते हैं जोड़ सकते हैं। निम्नलिखित संस्करण पिछले एक के रूप में बिल्कुल वही बात करता है, लेकिन चयनित पृष्ठ के लिए एक अलग चर का उपयोग करता है:

http://jsbin.com/xequvone/12/edit

मुझे लगता है कि आप एक रूटर चाहते हैं, तो अपने URL योजना अधिक जटिल था। उदाहरण के लिए, यदि हैश में कई स्तर और पैरामीटर शामिल हैं, जैसे #people, #/people/search या #/people/edit/12343

2

कुछ उदाहरण जो मैं आपके उदाहरण की समीक्षा करने से लापता हूं, यह है कि आप रूटिंग को कैसे प्रबंधित कर रहे हैं। एक सामान्य साइट में, यदि कोई उपयोगकर्ता example.com/foo या example.com/#foo पर नेविगेट करता है तो मेरी अपेक्षा (आपके वर्तमान सेटअप का उपयोग करके) होगी जो आपको पृष्ठ परया उस अनुभाग से संबंधित अनुभाग के साथ संबंधित core-animated-pages पृष्ठ पर ले जाएगा।

रूटिंग (शायद पॉलिमर flatiron-director तत्व) का उपयोग करके, एक मूल समाधान आपके तत्व में डीओएम से पूछताछ कर सकता है कि आईडी notsupportedURL का कोई अनुभाग पाया जा सकता है। यदि नहीं, तो उपयोगकर्ता को आपके core-animated-pages 404 पृष्ठ पर ले जाने के लिए डिफ़ॉल्ट, जो अब आपके पास मौजूद है उससे कहीं अधिक जटिल नहीं है।

+0

मैंने वर्तमान में अपनी साइट पर जिस तरह से लिंक किया है, मैंने जोड़ा है। प्रारंभ में कोड के उस भाग को हटा दिया क्योंकि मैंने नहीं सोचा था कि यह प्रासंगिक था। समस्या यह है कि अब यूआरएल को डेटा-बाइंडिंग का उपयोग सीधे 'कोर-एनिमेटेड-पेज' और 'कोर-मेन्यू' के 'चयनित' फ़ील्ड में लोड किया गया है, इसलिए मैं वास्तव में नहीं देखता कि आपका समाधान कैसे कार्यान्वित किया जाएगा अभ्यास। – jdepypere

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