2016-04-09 28 views
0

Uygulamamın 3 sekmesi var ve kullanıcıları, kullanıcı konum bilgisine sahip olduğumu doğrulayabilmem için açılış ekranına veya belirli bir sekmeye geri dönmek istiyorum. Bu denedim budur:OnsenUI onresume yeniden yükleme uygulaması

// Wait for device API libraries to load 
function onLoad() { 
    document.addEventListener("deviceready", onDeviceReady, false); 
} 

// device APIs are available 
function onDeviceReady() { 
    document.addEventListener("resume", onResume, false); 
} 

// Handle the resume event 
function onResume() { 
    tabbar.setIndex(1); 
    modal.show(); 
    getUsersLocation(getEstablishments); 
} 
+0

Ne yapmıyor? Ayrıca, iç içe geçmiş olay dinleyicilerine de ihtiyacınız yoktur. – Munsterlander

+0

Hiçbir şey yapmıyor ... tabbarın ayarlanmıyor. onResume ateş etmez. – MoreScratch

cevap

0

Bu kod Android'de Monaca ayıklayıcısında denedim ve çalışıyor edilmiştir. Bu test için kullandığınız buysa

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="utf-8" /> 
    <meta name="apple-mobile-web-app-capable" content="yes" /> 
    <meta name="mobile-web-app-capable" content="yes" /> 
    <meta http-equiv="Content-Security-Policy" content="default-src * data:; style-src * 'unsafe-inline'; script-src * 'unsafe-inline' 'unsafe-eval'"> 
    <link rel="shortcut icon" href="favicon.ico" type="image/x-icon" /> 
    <link href='https://fonts.googleapis.com/css?family=Roboto:400,300italic,300,400italic,500,700,700italic,500italic' rel='stylesheet' type='text/css'> 
    <title>Onsen UI Forum Help by Munsterlander</title> 

    <link rel="stylesheet" href="https://cdn.rawgit.com/OnsenUI/OnsenUI-dist/2.0.0-beta.8/css/onsenui.css" type="text/css" media="all" /> 
    <link rel="stylesheet" href="https://cdn.rawgit.com/OnsenUI/OnsenUI-dist/2.0.0-beta.8/css/onsen-css-components.css"> 
    <script src="https://cdn.rawgit.com/OnsenUI/OnsenUI-dist/2.0.0-beta.8/js/onsenui.js"></script> 
    <script src="components/loader.js"></script> 

    <script> 
     document.addEventListener("resume", function(e) { 
      alert("You're back!"); 
      document.getElementById('myNav').setActiveTab(2); 
     }); 
    </script>  
</head> 

<body> 

<ons-tabbar id="myNav"> 
    <ons-tab page="home.html" active="true"> 
    <ons-icon icon="ion-home"></ons-icon> 
    <span style="font-size: 14px">Home</span> 
    </ons-tab> 
    <ons-tab page="fav.html"> 
    <ons-icon icon="ion-star"></ons-icon> 
    <span style="font-size: 14px">Favorites</span> 
    </ons-tab> 
    <ons-tab page="settings.html"> 
    <ons-icon icon="ion-gear-a"></ons-icon> 
    <span style="font-size: 14px">Settings</span> 
    </ons-tab> 
</ons-tabbar> 
<ons-template id="home.html"> 
    <p>Home</p> 
</ons-template> 
<ons-template id="fav.html"> 
    <p>Fav</p> 
</ons-template> 
<ons-template id="settings.html"> 
    <p>Settings</p> 
</ons-template> 

</body> 
</html> 

söyleyebilirim tek cilvesi, hata ayıklama uygulamanın kendisinde olması. Etkinliğin tetiklenmesi için, açık pencerelere gittiğinizde, hata ayıklayıcının yığındaki ilk kişi olmadığından başka bir uygulama açmanız gerekir. İkincisi ise, olayın sorunsuz bir şekilde patlaması.

+0

Kullanıcıyı devam etmekte olan açılış ekranına götürmek mümkün mü? – MoreScratch

+0

Evet, ama% 100 emin değilim. Yükleme yerinde bir yer tutucu https://onsen.io/2/reference/ons-loading-placeholder.html. Umarım, Onsen ekibinden biri buna cevap verebilir. Onların Gitter yayınlamak isteyebilirsiniz: https://gitter.im/OnsenUI/OnsenUI – Munsterlander