dojox.mobile.lors de est nulle après le passage d'un onglet à l'autre
-
12-12-2019 - |
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 :
Cependant, lorsque je clique sur le deuxième ou le troisième onglet, à la fois de ceux qui se déplacent sur le premier :
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?
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 :(