Jeremy
1
Using Fuse 0.25.1 on Windows.
Project https://drive.google.com/file/d/0Byxe7r1yoUiDMk51Mzc1QWlkWEU/view
I am using Navigator
with a page that contains a PageControl
. The page is called “home” and the page control has “page1” and “page2”.
I am unable to receive any parameters. I am pushing a route in this manner:
router.push("home", {}, "page1", { type : "something from 2", ticks : ticks})
I have tried:
var params = this.Parameter;
var type = params.map(function(x) { return x.type; });
this.Parameter.onValueChanged(module, function(param) {
console.log(JSON.stringify(param));
});
What am I doing wrong? Also now that there is an Activated
trigger for page navigation shouldn’t the parameters come through that handler?
Hi, thanks for the report!
Yes this looks like a bug to me too, unless there’s something else I’m missing here…
I’ve created a ticket and will keep you updated.
I’m not able to reproduce this problem. Are you sure you are using the Parameter
from the correct object?
My example:
<App>
<ClientPanel>
<Router ux:Name="router"/>
<JavaScript>
var count = 0
module.exports.goP1 = function(){
router.goto('P1', { title: "ID:" + ++count } )
}
module.exports.goP2one = function(){
router.goto('P2', "", 'one', { title: "ID:" + ++count } )
}
module.exports.goP2two = function(){
router.push('P2', "", 'two', { title: "ID:" + ++count } )
}
</JavaScript>
<StackPanel Dock="Left">
<Button Text="P1" Clicked="{goP1}"/>
<Button Text="P2/one" Clicked="{goP2one}"/>
<Button Text="P2/two" Clicked="{goP2two}"/>
</StackPanel>
<Page ux:Class="MyPage">
<JavaScript>
this.Parameter.onValueChanged( module, function(args) {
console.log( "Changed: " + args.title )
})
exports.title = this.Parameter.map( function(x) {
return x.title
})
</JavaScript>
<Text Alignment="Center" Value="{title}"/>
</Page>
<Navigator DefaultTemplate="P1" ux:Name="theNav">
<MyPage ux:Template="P1" Color="#afa"/>
<Panel Color="#aaa" ux:Template="P2">
<PageControl>
<MyPage Name="one" Color="#aaf"/>
<MyPage Name="two" Color="#aff"/>
</PageControl>
</Panel>
</Navigator>
</ClientPanel>
</App>