Question

Je suis l'aide de l'onglet suivant contrôles :

function tweetsAction()
{
    var w = dojox.mobile.currentView;
    if (w.id != "tweetsView") w.performTransition('tweetsView', 1, "slide", null);
}

function secondAction()
{
    var w = dojox.mobile.currentView;
    if (w.id != "secondView") w.performTransition('secondView', 1, "slide", null);
}

function thirdAction()
{
    var w = dojox.mobile.currentView;
    if (w.id != "thirdView") w.performTransition('thirdView', 1, "slide", null);
}

L'initialisation dans la Lampe JavaScript, telles que :

function initCommonControls()
{
    console.log("Android initCommonControls");

    WL.TabBar.init();
    WL.TabBar.addItem("tweetsView", tweetsAction, "Tweets", {image:"images/icons/help_bw.png", imageSelected:"images/icons/help.png"});
    WL.TabBar.addItem("secondView", secondAction, "Second", {image:"images/icons/help_bw.png", imageSelected:"images/icons/help.png"});
    WL.TabBar.addItem("thirdView", thirdAction, "Third", {image:"images/icons/help_bw.png", imageSelected:"images/icons/help.png"});

    WL.TabBar.setSelectedItem("tweetsView");
}

Onglets apparaissent sur OK sur l'application de lancement :

enter image description here

Cependant, lorsque je clique sur le deuxième ou le troisième onglet, à la fois de ceux qui se déplacent sur le premier :

enter image description here

Et je vois cette erreur JavaScript dans le JS de la console :

Uncaught TypeError:Impossible de lire la propriété 'id' undefined

Ce qui signifie que la var w = dojox.mobile.lors de la;n'est pas en mesure d'obtenir le point de vue actuel après le déplacement hors de l'initiale de l'onglet.

C'est ce que mon code HTML ressemble à :

<!-- Tweets View -->
    <div id="tweetsView" data-dojo-type="dojox.mobile.ScrollableView" data-dojo-props="selected: true">
        <div class="spacing"></div>
        <h1 id="head0" data-dojo-type="dojox.mobile.Heading" 
            data-dojo-props="label:'Tweet Search', fixed:'top'"></h1>
        <button onclick="getTweets()">Get Tweets</button>
        <input data-dojo-type="dojox.mobile.TextBox" id="sampleItem">
        <ul data-dojo-type="dojox.mobile.EdgeToEdgeList" id="theTable"
            class="tweetviewList">
        </ul>
    </div>

    <!-- second View -->
    <div id="secondView" data-dojo-type="dojox.mobile.ScrollableView" data-dojo-props="selected:false">
        <div class="spacing"></div>
        <h1 data-dojo-type="dojox.mobile.Heading" 
            data-dojo-props="label:'second view', fixed:'top'"></h1>
        This is a second view
    </div>

    <!-- third View -->
    <div id="thirdView" data-dojo-type="dojox.mobile.ScrollableView" data-dojo-props="selected:false">
        <div class="spacing"></div>
        <h1 data-dojo-type="dojox.mobile.Heading" 
            data-dojo-props="label:'third view', fixed:'top'"></h1>
        This is a third view
    </div>

Toutes les idées pour lesquelles le dojox.mobile.currentView est de retour rien après le passage d'un onglet?

Était-ce utile?

La solution

Je suppose que c'est lié à ceci: http://bugs.dojotoolkit.org/ticket/15040.Des sons comme ils ont enlevé dojox.mobile.lors de la dernière versions de Dojo Mobile.Je suis actuellement en train de faire quelque chose avec la Lampe et je suis aussi arriver 'undefined' pour dojox.mobile.lors de la.

Il ya un couple de recommandations sur cette page, mais il semble que tout doit maintenant être beaucoup plus complexe - yay :(

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top