2016-02-27 23 views

回答

1

角UI路由器提供了一些事件而改變,如規定:

  • $ stateChangeStart
  • $ stateChangeSuccess等

$ rootScope在$( '$ stateChangeStart',

function(event, toState, toParams, fromState, fromParams, options){ 
    event.preventDefault(); 
    // transitionTo() promise will be rejected with 
    // a 'transition prevented' error 
}); 

$rootScope.$on('$stateChangeSuccess', 
function(event, toState, toParams, fromState, fromParams){ ... }) 

我建議您使用'$stateChangeSuccess'並添加$超時或任何其他動畫從一個狀態淡出到另一個狀態。

欲瞭解更多,你可以參考以下鏈接: State Change events in angular ui-router 希望這會有所幫助。

1

直起Frequently Asked QuestionsUI-Router wiki

How to: Animate ui-view with ng-animate

當包括angular-animate JavaScript的資產,UI-路由器全自動增加ng-enterng-enter-activeng-leaveng-leave-active類的狀態改變用戶界面視圖。您可以使用這些附加自己的CSS動畫:

CSS:

[ui-view].ng-enter, [ui-view].ng-leave { 
    position: absolute; 
    left: 0; 
    right: 0; 
    -webkit-transition:all 1s ease-in-out; 
    -moz-transition:all 1s ease-in-out; 
    -o-transition:all 1s ease-in-out; 
    transition:all 1s ease-in-out; 
} 

[ui-view].ng-enter { 
    opacity: 0; 
} 

[ui-view].ng-enter-active { 
    opacity: 1; 
} 

[ui-view].ng-leave { 
    opacity: 1; 
} 

[ui-view].ng-leave-active { 
    opacity: 0; 
} 

這裏有Plunker一個例子:http://plnkr.co/edit/nx2enw?p=preview

相關問題