2016-08-19 18 views
7

के साथ ngUpgrade का उपयोग करके एक कोणीय 2 आरसी 6 हाइब्रिड ऐप बूटस्ट्रैपिंग बूट करना मेरे पास एक कोणीय 1/कोणीय 2 हाइब्रिड ऐप है जो आरसी 3 और बहिष्कृत राउटर के साथ काम कर रहा था। उन सभी स्रोतों से जो मुझे मिल सकता है, आरसी 5 नए राउटर के साथ आगे बढ़ने का एक बड़ा कदम है। मैं अपने हाइब्रिड ऐप को बूटस्ट्रैप करने में सक्षम हूं, और अपना रूट घटक प्रस्तुत करता हूं, लेकिन रूटिंग काम नहीं करती है।रूटिंग

var upgradeAdapter = new UpgradeAdapter(forwardRef(() => AppModule)); 

angular.module('ng1App', []) 
    .directive('myBaseComponent', <any>upgradeAdapter.downgradeNg2Component(MyBaseComponent)); 

@NgModule({ 
    imports: [BrowserModule, routing], 
    providers: [appRoutingProviders, HTTP_PROVIDERS], 
    declarations: [MyBaseComponent, 
    MyNG2RoutableComponent] 
}) 
class AppModule { } 


upgradeAdapter.bootstrap(document.body, ['ng1App']).ready(function(){ 
    console.log('bootstraped!'); 
}); 

मेरी रूट एनजी 2 घटक बूटस्ट्रैप्स, क्योंकि मैं इसे टेम्पलेट में सामान फेंक सकता हूं। लेकिन ऐसा लगता है जब मैं <router-outlet></router-outlet> जोड़ता हूं तो यह बाल मार्ग प्रस्तुत नहीं करेगा। अगर मैं अपग्रेड एडाप्टर के बिना बस अपना एनजी 2 ऐप बूटस्ट्रैप करता हूं, तो सबकुछ अपेक्षित काम करता है।

मुझे लगता है कि मुझे केवल एक कनेक्टिंग टुकड़ा याद आ रहा है। कोई विचार?


कोणीय RC.6 और रूटर RC.2 अद्यतन

मैं rc.6 करने के लिए उन्नत और रूटर के rc.2 संस्करण इस पिछले सप्ताह, एक ही समस्या। रूटिंग शामिल नहीं होने पर अपग्रेड एडाप्टर बहुत अच्छा काम करता है। एक बार जब मैं राउटर-आउटलेट खींचता हूं, तो कुछ भी प्रस्तुत नहीं होता है और कोई त्रुटि नहीं होती है।

+0

आप अपने घटक के 'निर्देशों' संपत्ति डेकोरेटर करने के लिए रूटर निर्देशों जोड़ दिया है? वहां से '@ कोणीय/राउटर' से आयात {ROUTER_DIRECTIVES}; ' –

+0

@ ओलेगबिनोव मैंने अभी एक शॉट दिया, लेकिन अभी भी कुछ भी नहीं। मैंने सोचा कि राउटर निर्देश मॉड्यूल स्तर पर ख्याल रखेंगे? Angular.io मार्गदर्शिका के बाद, मैंने app.routing.ts में रूटिंग सेट की है और 'RouterModule.forRoot()' फ़ंक्शन का उपयोग किया है जिसका उपयोग तब मेरे मॉड्यूल के आयात में किया जाता है। किसी भी तरह से, सीधे निर्देशों को आयात करने में मदद नहीं मिली। –

+0

मैंने पिछले हफ्ते, एक ही समस्या में आरसी 6 में अपग्रेड किया था। रूटिंग शामिल नहीं होने पर अपग्रेड एडाप्टर बहुत अच्छा काम करता है। एक बार जब मैं राउटर-आउटलेट खींचता हूं, तो कुछ भी प्रस्तुत नहीं करता है और कोई त्रुटि नहीं होती है। –

उत्तर

3

कोणीय राउटर को तत्काल एक घटक को तत्काल होने के लिए बूटस्ट्रैप होने की आवश्यकता होती है। चूंकि ngUpgrade कोणीय 1 तरफ बूटस्ट्रिप्स को बूट करता है, इसलिए कोणीय 2 बूटस्ट्रैप घटक नहीं होता है। इसे हल करने के लिए, आपको ApplicationRef को ओवरराइड करना होगा और अपना स्वयं का घटक प्रदान करना होगा। यहां एक कार्यरत प्लंकर है जो यह प्रदर्शित करने का तरीका दिखाता है।

http://plnkr.co/edit/Gj8xq0?p=preview

संदर्भ के लिए:

https://github.com/angular/angular/issues/9870

+0

यह वही है जो मैं ढूंढ रहा था! धन्यवाद! मुझे पता था कि कुछ जादू कनेक्टिंग सॉस होना था, क्योंकि कोई त्रुटि नहीं डाली जा रही थी। मुझे यकीन है कि दस्तावेज जल्द ही अपडेट हो जाएगा, लेकिन यह हमें हमारे ऐप को नवीनतम आरसी में अपडेट करने से रोकता है। –

+1

अब यह कोणीय 2.1.0 और उच्चतर के साथ आवश्यक नहीं है - इस प्रभाव को उस प्रभाव को अपडेट करने के लिए अच्छा होगा। – studds

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