[SailfishDevel] pageStack.pop() - send paramater to prev page
Michael Neufing
m.neufing at yahoo.de
Thu Jun 5 15:40:39 UTC 2014
+1 for Dialog
Andrey Kozhevnikov <coderusinbox at gmail.com> schrieb am 17:32 Donnerstag, 5.Juni 2014:
why not to use Dialog instead of Page for this use case?
05.06.2014 21:28, Michael Neufing пишет:
Hi Chris,
>
>
>one problem I see with your solution is that the App could take long time to launch, when there are a bunch of Pages that have to be initialized at launch (depending on the structure of the Pages).
>
>
>So I would prefer lazy loading Pages, which will be
initialized when it is needed.
>
>
>Mit freundlichen Grüßen,
>
>
>Michael Neufing
>
>
>
>
>Christopher Lamb <christopher.lamb at thurweb.ch> schrieb am 16:40 Donnerstag, 5.Juni 2014:
>
>
>
>Hi Markus
>
>In my app I chose to instantiate all my Pages in the
same place. Each of the pages has a declaration in a
separate qml file (e.g. MainPage.qml,
AreaSelectionPage.qml).
>
>With this architecture none of the declarations need
to know about the previous or next page. It is not
their concern. Instead they emit signals NextPage,
BackPageWithInfo, and Cancelled. In the signal
handler in the page instantation I do the actual
pushing and popping, and because all pages are
instantiated in the same scope, they are all
available to be pushed / popped to. (see code
example below).
>
>The downside is that all the pages are created on
startup (regardless of if they are ever visited).
For lightweight pages this is not a problem, but for
some pages this might be a problem. For these I
dynamically create the page content when the page is
visible.
>
>Grüsse
>
>Chris
>
>
>
>ApplicationWindow{
>id:appWindow
>.......
>initialPage:mainPage
>MainPage{
>id:mainPage
....
>
>onNextPage:{
>if(pageType=="SMS"){
>console.log("smsTypeis:"+smsType)
>if(smsType=="Default")pageStack.push(smsPage,{lati:mainPage.getLati(),longi:mainPage.getLongi(),alti:mainPage.getAlt i(),area_id:area_id,template_id:template_id,msg_status:msg_status,lastPage:"mainPage"})
>}
>else{
>pageStack.push(areaSelectionPage)
>}
>}
>}
>AreaSelectionPage{
>id:areaSelectionPage
>....
>onBackPageWithInfo:{
>mainPage.areaSet=true;
>mainPage.area_id=area_id;
>pageStack.pop(mainPage);
>}
>onCancelled:pageStack.pop(mainPage);
>}
>SMSPage{
>id:smsPage
>....
>onNextPage:{
>pageStack.push(contactSelectionPage,{area_id:area_id,template_id:template_id})
>}
>}
>ContactSelectionPage{
>id:contactSelectionPage
>....
>onBackPageWithInfo:{
>console.log("AbouttopopsmsPage;contactName:"+contactName+",contactPhone:"+contactPhone);
>smsPage.contactName=contactName;
>smsPage.contactPhone=contactPhone;
>smsPage.lastPage="contactSelectionPage";
>pageStack.pop(smsPage);
>}
>onCancelled:pageStack.pop(smsPage);
>}
>}
>
>
>
>
>
>
>On 05.06.14 14:43, info at flyingfischer.ch wrote:
>
>Thanks for your inputs!
>>
>>Calling
>>
>>PreviousPage.topic = "MyTopic";
>>pageStack.pop();
>>
>>gives me a ReferenceError: PreviousPage is not
defined.
>>
>>PreviousPage.qml and property string topic do
exist.
>>
>>Thanks for your patience!
>>
>>Markus
>>
>>_______________________________________________
>>SailfishOS.org Devel mailing list
>>To unsubscribe, please send a mail to devel-unsubscribe at lists.sailfishos.org
>>
>
>
>_______________________________________________
>SailfishOS.org Devel mailing list
>To unsubscribe, please send a mail to devel-unsubscribe at lists.sailfishos.org
>
>
>
>
>_______________________________________________
SailfishOS.org Devel mailing list
To unsubscribe, please send a mail to devel-unsubscribe at lists.sailfishos.org
_______________________________________________
SailfishOS.org Devel mailing list
To unsubscribe, please send a mail to devel-unsubscribe at lists.sailfishos.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.sailfishos.org/pipermail/devel/attachments/20140605/4c6e73f2/attachment-0001.html>
More information about the Devel
mailing list