2016-03-21 46 views
0

我在我的應用程序中使用離子本機轉換插件。我正在使用slide up轉換爲pages.It工作,但狀態更改時顯示短時間內顯示相同的頁面,然後出現其他頁面(我想要切換的頁面)。這裏是github link。我嘗試了默認選項的不同值,但它不能解決我的問題。任何幫助將不勝感激使用離子本地轉換插件時出現相同的頁面?

+0

請添加一些您的代碼。否則,我們看不到你想要做什麼以及你可能做錯了什麼。 –

回答

0

我不確定你的問題是否與我有過的相同(當轉換到下一個/上一個狀態時,它應該轉換到的「新狀態」顯示在「舊視圖「動畫之前/期間),但這是我所做的。我發現了一個解決方案,即在離子本體轉換(.min).js中的stateGo()函數中爲狀態更改添加超時,從而導致它作爲最後一個函數運行。以下代碼適用於iOS和Android設備。

function stateGo() { 
    var state = arguments.length <= 0 || arguments[0] === undefined ? null : arguments[0]; 
    var stateParams = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1]; 
    var transitionOptions = arguments.length <= 2 || arguments[2] === undefined ? null : arguments[2]; 
    var stateOptions = arguments.length <= 3 || arguments[3] === undefined ? {} : arguments[3]; 

    if (!state) { 
    $log.debug('[native transition] cannot change state without a state...'); 
    return; 
    } 

    unregisterToStateChangeStartEvent(); 
    transition(transitionOptions); 
    if (ionic.Platform.isIOS()) { 
    $timeout(function() { 
     $state.go(state, stateParams, stateOptions); 
    }); 
    } else { 
    $state.go(state, stateParams, stateOptions); 
    } 
} 

我決定只在這種情況下添加在檢查iOS設備和運行超時,因爲它只能在iOS設備上發生的,也許做Android設備閃爍一點點的過渡超時(我可能是偏執狂,這不是真的發生,或者是由於我的應用程序上的內容大圖像)。

相同的修復可能也適用於您正在使用locationurl的情況,而不是在這種情況下,您只需將超時設置爲「$ location.url(url);」功能。

不知道這是否是這個問題的最終解決方案,但它現在可以工作,希望該插件很快就會被修復,所以這個問題不會打擾任何人。當使用

0

同樣的問題在我的一面:

$scope.$on('$ionicView.enter', function(event, viewData) { 
    var transitionDirection = viewData.direction !== "back" ? "left": "right"; 
    var options = { 
     "direction": transitionDirection, 
     "duration": 600, 
     "androiddelay": 75 
    }; 
    window.plugins.nativepagetransitions.slide(
     options, 
     function() {}, 
     function() {} 
    ); 
}); 

然而,當我改變了「$ ionicView.enter」事件「$ ionicView.beforeEnter」,它解決的情況下,我。不知道這是否是一個合適的解決方案。

相關問題