How can I use ng-animate with ui-view rather than ng-view?

后端 未结 8 1779
自闭症患者
自闭症患者 2020-12-13 00:26

I am using angular-ui-router with angularJS v1.2 and would like to implement custom page transitions.
How can I use ng-animate with ui-view (from angular-ui-router) rath

8条回答
  •  醉话见心
    2020-12-13 00:53

    The bug is now closed and they've added an entry over at the ui-router Wiki. It also includes a demo Plunkr. I will copy the code example here, just in case the URL would become outdated.

    HTML:

    CSS:

    /* Have to set height explicity on ui-view 
    to prevent collapsing during animation*/
    .well[ui-view]{
     height: 65px; 
    }
    
    .ui-view-container {
      position: relative;
    }
    
    [ui-view].ng-enter, [ui-view].ng-leave {
      position: absolute;
      left: 0;
      right: 0;
      -webkit-transition:all .5s ease-in-out;
        -moz-transition:all .5s ease-in-out;
        -o-transition:all .5s ease-in-out;
        transition:all .5s ease-in-out;
    }
    
    [ui-view].ng-enter {
      opacity: 0;
      -webkit-transform:scale3d(0.5, 0.5, 0.5);
      -moz-transform:scale3d(0.5, 0.5, 0.5);
      transform:scale3d(0.5, 0.5, 0.5);
    }
    
    [ui-view].ng-enter-active {
      opacity: 1;
      -webkit-transform:scale3d(1, 1, 1);
      -moz-transform:scale3d(1, 1, 1);
      transform:scale3d(1, 1, 1);
    }
    
    [ui-view].ng-leave {
      opacity: 1; 
      -webkit-transform:translate3d(0, 0, 0);
      -moz-transform:translate3d(0, 0, 0);
      transform:translate3d(0, 0, 0);
    }
    
    [ui-view].ng-leave-active {
      opacity: 0;
      -webkit-transform:translate3d(100px, 0, 0);
      -moz-transform:translate3d(100px, 0, 0);
      transform:translate3d(100px, 0, 0);
    }
    

提交回复
热议问题