2017-07-20 3 views
0

Ich möchte Lade-Seite jedes Mal, wenn ich auf eine andere Seite gehen, so will ich Animation verwenden, aber es lädt nicht die Ansicht Wenn ich die URL sehe, an zuerst wechselt es bereits zu localhost/home -> localhost/product, aber plötzlich wird es neu geladen und geht nach hause.Animsition funktioniert nicht gut mit eckigen UI-Router

-Code

myApp.directive('animsition', function($location,$timeout){ 
$(".animsition").animsition({ 
    inClass: 'fade-in', 
    outClass: 'fade-out', 
    inDuration: 10, 
    outDuration: 10, 
    // linkElement: '.animsition-link', 
    linkElement: 'a:not([target="_blank"]):not([href^="#"]):not([class*="lg-trigger"]):not([socialshare])', 
    loading: true, 
    loadingParentElement: 'body', 
    loadingClass: 'animsition-loading', 
    loadingInner: '<img src="images/loading.gif" />', // e.g '<img src="assets/img/loading.svg" />' 
    timeout: false, 
    timeoutCountdown: 4000, 
    onLoadEvent: true, 
    browser: ['animation-duration', '-webkit-animation-duration', '-o-animation-duration'], 

    overlay : false, 
    overlayClass : 'animsition-overlay-slide', 
    overlayParentElement : 'body', 
    transition: function(url){ 
      window.location.href = url; 
    } 
}); 

ui.router

.state('home',{ 
    url:'/home', 
    params:{opacity:null,headnav_status:null,no_login:null}, 
    templateUrl:'home.html', 
    controller:'HomeCtrl' 
    }) 

    .state('product',{ 
    url:'/product', 
    params:{product_id:null}, 
    templateUrl:'product.html', 
    controller:'ProductCtrl' 
    }) 

Klickfunktion

$scope.gotoProduct = function(product_id) { 
    $state.go('product', { product_id: product_id}); 
} 

    <a ng-click="gotoProduct(id)">Product </a> 

Wer noch keine Idee, warum?

Vielen Dank

+0

Ihr Router Code nicht ‚product_detail‘ als nicht definiert Zustand. Hast du das vermisst, oder ist es nicht in deinem Code? –

+0

ich vermisse das, danke Kumpel! – beginnerprogrammer

Antwort

1

Es gefunden!

ich diesen Code in animsition Direktive hinzufügen

transition: function(url){ 
    if(url){ 
     window.location.href = url; 
    } 
    else{ 
     location.reload(); 
    } 
} 

Und es richtig funktioniert, hoffen, dass es jemanden helfen, die animsition in ihren Winkeln Anwendungen benötigen ~

Verwandte Themen