7

ES6 ve webpack için Bable kullanıyorum. Ben 1.x.x açılıyorum ve bir uygulama yapıyorum. Bugüne kadar herhangi bir soruna rastlamadım. Tüm Rota Değişikliklerini takip edebileceğim bir işlevselliğe sahip olmak istiyorum. UI-Router kullanıyorum. Sorun şu ki, $stateChangeStart zaten tetiklenmiyor. Kod aşağıda belirtilmiştir.

/*All includes are taken care of. Please look at the run method*/ 

angular.module('chpApp', [ 
     uirouter, 
     angular_animate, 
     uibootstrap, 
     formly, 
     formlyBootstrap, 
     ngMessages, 
     angularLoadingBar, 
     'ngNotificationsBar', 
     'jkuri.datepicker', 
     'LocalStorageModule', 
     'ncy-angular-breadcrumb', 
     'mgo-angular-wizard', 
     'luegg.directives', 
     'ngToast', 
     'ui.mask', 
     /*Application Modules*/ 
     angularnvd3, 
     chpConstants, 
     menu, 
     header, 
     breadcrumb, 
     auth, 
     dashboard, 
     programs, 
     device 
    ]) 
    .run(['$rootScope', function($rootScope) { 
     $rootScope.$on('$stateChangeStart',() => { 
      console.log('lol') 
     }) 
    }]) 
    .config(routing); 

bana devlet değişti oluyor ama $stateChangeStart olay asla tetiklenen alır çünkü yanlış yaptığını ma iletin. run yöntemi, $stateChangeStart dinleyicisiyle bağlantı kurduğum yerdir.

Sanırım ES6 ile ilgili bir şey var ve ben herhangi bir başvuru bulamıyorum. Teşekkürler.

+1

$ rootScope'u deneyin. $ On ('$ locationChangeStart', ...) –

+0

Neden hepsini bir [mcve] 'ye çevirmiyorsunuz ve bizimle paylaşmıyorsunuz? – iH8

+0

@FranePoljak Dude UI-Router kullanıyorum, bu yüzden negatif işaretlemeden önce lütfen okuyun! –

cevap

13

Benzer bir sorunla karşılaştım ve sonuçta stateChange* olaylarının ui-router 1.0 sürümünde varsayılan olarak kullanımdan kaldırıldığını ve devre dışı bırakıldığını fark ettim. 1.0.0-alpha0 kullanıyorum. Bu olayların sağladığı işlevler artık geçiş kancaları kullanılarak elde edilebilir. Bu 1.0 alfa için sürüm notları kaplıdır ve burada okunabilir: https://github.com/angular-ui/ui-router/releases/tag/1.0.0alpha0

+0

Bununla çalışabildiniz mi? Sizinle birlikte çalışır mıydı ve bana bazı kodlara işaret edebilir misiniz? "^ 1.0.0-alpha0" –

+0

kullanıyorum Neden hala $ location hizmetinin $ locationChangeStart olayını kullanamadığını görmüyorum? –

+2

@Eoin Teşekkür ederim, aynı sorun vardı ve [belgeler] (https://github.com/angular-ui/ui-router/wiki#state-change-events) bir şey bahsetmedi. Şimdi insanlara zamandan tasarruf etmek için dokümanlara bir satır ekledim: cevabımda – mrzli

0

Diğer yanıtları genişleterek, eski 0.2. * StateChange olaylarını manuel olarak etkinleştirebilirsiniz. ui-router-polyfill-wrapper.js olarak aşağıdaki modülü kaydedin:

'use strict'; 

import uiRouter from 'angular-ui-router'; 
import 'angular-ui-router/release/stateEvents'; 

let module = angular 
    .module('ui-router-polyfill-wrapper', [ 
     uiRouter, 
     'ui.router.state.events', 
    ]); 

export default module; 

Sonra açısal uygulama modülü bağımlılık dizide require('./ui-router-polyfill-wrapper').default.name yerine require('angular-ui-router').name koydu.

İlgili konular