2015-04-15 8 views
8

मैं एकल पृष्ठ ऐप्स और बहु ​​पृष्ठ ऐप्स के बीच अंतर का अध्ययन कर रहा हूं, और मुझे लगता है कि मेरे पास अच्छा विचार है कि वे अलग-अलग कैसे होते हैं। सिंगल पेज एप एक एचटीएमएल पेज लोड करके शुरू होता है, और फिर यह पृष्ठ को पूरी तरह रीफ्रेश नहीं करता है या मूल को ओवरराइड नहीं करता है, जब तक कि एप्लिकेशन अन्यथा रीफ्रेश नहीं किया जाता है (ब्राउज़र रीफ्रेश इत्यादि) उदाहरण के लिए, कोणीय जेएस बीज प्रोजेक्ट: angular-seed में एक इंडेक्स है एचटीएमएल फाइल। यह फ़ाइल एकमात्र पृष्ठ है, जो सर्वर फ्रंट-एंड को भेज देगा, और इसके बाद, अन्य सभी (संभव) पृष्ठ AJAX का उपयोग करके हुड के नीचे असीमित रूप से भेजे जाएंगे। तो यदि आप एंजुलरज बीज के साथ ऐप बनाते हैं, तो यह हमेशा एक एसपीए एप्लीकेशन होगा, क्या मैं सही हूँ?कोणीयजेएस: एकल पृष्ठ और बहुपक्षीय ऐप अंतर और अभ्यास में उपयोग?

फिर अभ्यास में आप कोणीय के साथ एक बहुआयामी अनुप्रयोग कैसे बनाएंगे? क्या आपको तब एकाधिक कोणीयजेएस अनुप्रयोगों की आवश्यकता नहीं होगी? क्या आपको उन कोणीयजेएस अनुप्रयोगों में से प्रत्येक के लिए अलग रूटिंग करना होगा? और क्यों ang कोणीय जेएस के लिए multipage आवेदन करना चाहते हैं? चूंकि कोई भी वास्तविक अनुक्रमणिका के बिना हमेशा एक शेल के रूप में पहले index.html का उपयोग कर सकता है, और उसके बाद अलग-अलग पृष्ठों के लिए अलग कंटेनर-पेज होते हैं। क्या यह कहा जा सकता है कि angularJS multipage ऐप एक एप्लीकेशन होगा, जिसमें केवल कई एसपीए कोणीयजेएस अनुप्रयोग होंगे? एसपीए में, क्या आप अंतिम दृश्य पर वापस जाने के लिए ब्राउज़र के बैक-बटन का उपयोग कर सकते हैं?

उत्तर

1

हां, आपको एसपीए और एमपीए अधिकार का विचार मिला है।

Angular.js आपको एसपीए बनाने में सक्षम बनाता है लेकिन आपको मजबूर नहीं करता है। एक एमपीए में, मैं एकाधिक कोणीय अनुप्रयोगों की बात नहीं करता क्योंकि आप कई HTML पृष्ठों पर Angular.js मॉड्यूल फैलते थे। पृष्ठ प्रवाह या रूटिंग तर्क तब Angular.js नियंत्रकों में, सादे हाइपरलिंक्स में या सर्वर पर बैकएंड में होगा।

Angular.js के तहत पूरा आवेदन न करने के कारण हो सकते हैं। हो सकता है कि किसी वेब एप्लिकेशन का प्रमाणीकरण भाग कुछ कारणों से अलग से हो सकता है ...

एसपीए में आप निश्चित रूप से ब्राउज़र के बैक बटन का उपयोग कर सकते हैं। आपको बस इसे किसी भी तरह लागू करना होगा। ट्विटर यूआरएल में अपने वेब एप्लिकेशन की स्थिति को कोड करके इस समस्या को हल करता है - यदि आप ट्विटर का उपयोग कर रहे हैं, तो आपने पता बार में प्रतीकों (#!) को देखा होगा।

+0

लेकिन कोणीय दस्तावेज़ को संकलित करने के लिए आपको HTML में ng-app की आवश्यकता नहीं है? तो आप अन्य एचटीएमएल पृष्ठों पर angular.js मॉड्यूल नहीं हो सका, उन पृष्ठों के बिना एनजी-ऐप मॉड्यूल भी शामिल है? और यदि वे एनजी-ऐप मॉड्यूल शामिल करते हैं, तो उन्हें एक अलग एप्लिकेशन के रूप में माना जाता है? https://docs.angularjs.org/api/ng/directive/ngApp। इसके अलावा मैं रूटिंग भाग को समझ नहीं पा रहा हूं। तब कोई सामान्य कोणीय मार्ग नहीं होगा? –

+1

हां, आपको प्रति पृष्ठ किसी भी तरह Angular.js प्रारंभ करना होगा - https://docs.angularjs.org/guide/bootstrap भी देखें - लेकिन वह अकेले दो अनुप्रयोग नहीं बनाता है। –

+0

जब आप "एप्लिकेशन" कहते हैं तो आप Angular.js अनुप्रयोगों के बारे में बात कर रहे हैं, है ना? उस स्थिति में, आप एकाधिक पृष्ठों पर एक Angular.js एप्लिकेशन साझा कर सकते हैं (आपको डेटा को किसी पृष्ठ से किसी अन्य तरीके से स्थानांतरित करना होगा ...)। इसके अलावा, आप एक एकल पृष्ठ पर एकाधिक Angular.js अनुप्रयोगों को प्राप्त कर सकते हैं। या आपके पास एक वेब एप्लिकेशन जिसमें एक Angular.js एप्लिकेशन और एक और सादा HTML पृष्ठ वाला एक वेब अनुप्रयोग हो सकता है ... –

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