2015-05-07 21 views
7

, bir ebeveyn soyut devlet ve çocuk durumuna oluşuyordu çocuk görünümünde ve denetleyicisi ateş değil App.heatingControllerDetails.wdc öğesini çağırdığımda, her iki denetleyici de oluşturulur, ancak $ ionicView.enter yalnızca üst denetleyicide çağrılır. Herhangi bir fikir?ionicView.enter İki iç içe durumları var

<ion-content class="has-header" ng-show="hc"> 
    <div ui-view name="hc-details"></div> 
    <div class="disableContentDiv" ng-hide="hc.state=='Online'"></div> 
</ion-content> 
+0

$rootScope.$on('$stateChangeStart', function(event, toState, toParams, fromState, fromParams, options){ if(toState.url == "/video/:Id"){ console.log("Leaving the view."); } }); 
olmuştur ionicView.enter'd: http://stackoverflow.com/questions/19446755/on-and-broadcast -in-köşeli ve https://docs.angularjs.org/api/ng/type/$rootScope.Scope –

cevap

0

iç içe görünümler ile çalışan, en, yerine söyleniyor $ionicView

ait $ionicNavView olayları kullanmak zorunda şu şekildedir:

heatingController.html yılında

, hc-detayı tanımlanır görünümüne son sürüm bu olayları denetler ve şu anda bir düzeltmede çalışırlar: Github issue

+0

index.html içinde, 'ion-nav-view' kullanıyorum (ana görünüm için) ama ben Bunun iç içe geçmiş bir görünüm için uygun olduğunu düşünün - yani bir navigasyon görünümünü başka bir iç içe yerleştirmek mi? –

+0

Nono, demek istediğim, "$ ionicView.enter" 'yerine" $ ionicNavView.enter "etkinliğine iç içe geçmiş görünüm denetleyicinizden abone olmanız gerektiğidir. "$ IonicView" olayları üst düzey görünümler için, "$ ionicNavView" olayları ise iç içe geçmiş görünümler içindir. Her neyse (github sorunu tarafından belirtildiği gibi), bu yüzden onlar da iç içe geçmiş görünümler için '$ ionicView' olaylar tutulur eğer bu iyi olurdu ... Ama muhtemelen onları ayırmak için bir neden var mı? – olivarra1

+0

Oh, özür dilerim, daha iyi okumalıydım. Bunu deneyeceğim, teşekkürler! –

0

Bunun için bir iş buldum. Bunu, görünümün bir üst bölümüne yerleştirin veya uygulamanızı çalıştırırken yüklenen ilk denetleyiciye yerleştirin. Bunu, "gelen ve giden" görünüm değişikliklerini gözlemlemek için kullanabilirsiniz. Sadece toState öykünmüş ionicView.enter'ın url'sinde bir dize karşılaştırması yapmak için gerekli olanı elde etmek için yeterince iyi. Bunu yapmak için UI yönlendiricisini kullanmanız gerektiğini unutmayın. Bu yardımcı olur umarım!

Sen ebeveyni görmek çocuğa duyurmak böylece açısal $ yayın bakmak isteyebilirsiniz