I have a few pages, but I want to cancel some page of the back button.I want to hide two panel when on back button. I set router BackButtonAction is none but dosnt work.
Hi!
Having some trouble understanding your use-case. Do you want to navigate without adding pages to the router history? In that case you should use router.goto instead of router.push.
If i misunderstood you, could you please write some more details?
ı need conditional go back
function goback(){
if (iscardopen.value) {
iscardopen.value=false;
}else if(isloaded.value){
isloaded.value=false;
}else{
router.goBack();
}
}
And this is not working for you? That code snippet didn’t really explain much.
Sorry,
MainView.ux
<App ClearColor="#efefef">
<Router ux:Name="router" />
</Navigator DefaultTemplate="first"> <FirstPage ux:Template="first" router="router" /> <SecondPage ux:Template="second" router="router" /> </Navigator>
</App>
FirstPage.ux
<Page ux:Class="FirstPage">
<Router ux:Dependency="router" />
<Button Text="Click" Clicked="{goSecond}">
</Button>
<JavaScript>
module.exports={
goSecond:function(){
router.push("second");
}
}
</JavaScript>
</Page>
SecondPage.ux
<Page ux:Class="SecondPage">
<Router ux:Dependency="router" />
<Panel ux:Name="panel1" IsVisiblity="Collapsed">
<Text>Panel 1</Text>
</Panel>
<Panel ux:Name="panel2" IsVisiblity="Visible">
<Text>Panel 2</Text>
</Panel>
<OnBackButton Handler="{action}" />
<WhileTrue Value="{ispanel1}">
<Change panel1.Visibility="Visible" />
<Change panel2.Visibility="Collapsed" />
</WhileTrue>
<JavaScript>
var Observable = require('FuseJS/Observable');
var ispanel1=Observable(false);
module.exports={
ispanel1:ispanel1,
action:function(){
if(ispanel1.value){
router.goBack();
}else{
ispanel1.value=true;
}
}
}
</JavaScript>
</Page>
Are you looking for WhileCanGoBack
? https://www.fusetools.com/docs/fuse/navigation/whilecangoback
No ım looking conditional goback method like:
if(ispanel1.value){
router.goBack();
}else{
ispanel1.value=true;
}
+1