2015-12-21 13 views
8

एक वैश्विक घटना है जिसका उपयोग हम राज्य परिवर्तन/प्रारंभ कर सकते हैं जो Component Lifecycle Hooks के विपरीत प्रति घटक नहीं है? यूआई-रूटर में की तरह:कोणीय 2 राउटर वैश्विक स्थिति परिवर्तन घटना

$rootScope.$on("$stateChangeStart", function() {}) 

उत्तर

1

यह आप क्या हासिल करना चाहते पर निर्भर करता है, लेकिन यह राज्यों की धारा प्राप्त करने के लिए यह करने के लिए अपने शीर्ष स्तर घटक में Router और .subscribe() इंजेक्षन करना संभव है।

मैंने इसे कार्यक्षमता बनाने के लिए उपयोग किया जो वर्तमान स्थिति के आधार पर ब्राउज़र के शीर्षक को बदलता है। कहा जा रहा है आप कोणीय 1.

से $stateChangeSuccess और $stateChangeFailure घटनाओं के समकक्ष के रूप में इसके बारे में सोच सकते हैं कोड होगा:

constructor(router: Router) { 
    router.subscribe(successHandler, failureHandler); 
} 

इसके अलावा OnActivate जो भी इन अवधारणाओं से संबंधित है पर एक नज़र डालें।

0

मेरे कोड, ui-रूटर के लिए, समाप्त हो गया है Angular2 के लिए NG1 $ rootScope $ stateChangeSuccess को बदलने के लिए निम्नलिखित की तरह कुछ के लिए देख:

import { Component } from '@angular/core'; 
import { TransitionService } from "ui-router-ng2"; 

@Component({selector: 'app-stage-tag',template: '...'}) 
class AppComponent { 
    constructor(public transitionService: TransitionService){ 
    transitionService.onSuccess({to:'*'}, transition=>{ 
     console.log('state', transition._targetState._definition) 
     console.log('params', transition._targetState._params) 
    }) 
    } 
} 
संबंधित मुद्दे