2016-01-09 3 views
7

मैं आधिकारिक दस्तावेज से नमूना कोड का उपयोग कर, वर्तमान मार्ग कोणीय 2 रूटर का उपयोग कर लॉग इन करने की कोशिश कर रहा हूँ लागू करता है के लिए कहा जाता है कभी नहीं किया गया है: https://angular.io/docs/ts/latest/api/router/OnActivate-interface.htmlकोणीय 2, routerOnActivate विधि एक घटक है कि OnActivate

import {Component} from 'angular2/core'; 
import { 
    OnActivate, 
    ComponentInstruction 
} from 'angular2/router'; 


@Component({selector: 'header-title', template: `<div>routerOnActivate: {{log}}</div>`}) 
export class HeaderTitle implements OnActivate { 
    log: string = ''; 

    routerOnActivate(next: ComponentInstruction, prev: ComponentInstruction) { 
     console.log('hello on activate'); 
     this.log = `Finished navigating from "${prev ? prev.urlPath : 'null'}" to "${next.urlPath}"`; 
    } 
} 

विधि routerOnActivate कभी नहीं कहा जाता है।

@RouteConfig([ 
    {path: '/', component: Home, name: 'Index', data: {title: 'Index page'}}, 
    {path: '/home', component: Home, name: 'Home', data: {title: 'Welcome Home'}}, 
    {path: '/**', redirectTo: ['Index']} 
]) 

वहाँ है कि मैं रूटर में कॉन्फ़िगर करना चाहिए श्रोताओं को सक्रिय करने के कुछ और है:

मैं RouteConfig एनोटेशन का उपयोग कर मार्गों कॉन्फ़िगर किया गया?

+0

'कार्यान्वयन' भाग यहां महत्वपूर्ण नहीं है। क्या 'हैडरटाइट' रूटिंग के माध्यम से लोड किया गया है? अन्यथा यह काम नहीं करेगा। –

+0

@EricMartinez का मतलब है कि मुझे इसे होम घटक '{path:'/', घटक: होम, नाम:' इंडेक्स ', डेटा: {शीर्षक:' इंडेक्स पेज '}}' जैसे रूट में लोड करना चाहिए? यह वर्तमान में होम घटक के टेम्पलेट में निहित निर्देश '' निर्देश के माध्यम से लोड किया गया है। – geraldpereira

+0

हां, @gpereira बिल्कुल। 'कार्यान्वयन' भाग सिर्फ टाइपिंग के साथ आपकी मदद करने के लिए है, इसलिए आईडीई शिकायत नहीं करता है। यह सुनिश्चित करने के लिए कि अपने 'होम' घटक में 'राउटरऑनएक्टिवाइट' जोड़ें और देखें कि इसे बिल्कुल कहा जाता है या नहीं। –

उत्तर

12

आपको पथ को हल करने वाले घटक के अंदर राउटरऑनएक्टिवेट विधि को लागू करने की आवश्यकता है। यदि आप इसे होम घटक में कार्यान्वित करते हैं तो आपके उदाहरण में इसे कॉल किया जाएगा।

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