I have did something similar below. Basic idea is when I clicked a button, it will change the contents of data, but the displayed data is duplicated now.
<JavaScript>
var Observable = require("FuseJS/Observable");
var data = Observable();
var nullData = Observable();
var dataOne = Observable(
{ name: "Fancy Bag" },
{ name: "Bubbly"},
{ name: "Strike!" }
);
var dataTwo = Observable(
{ name: "Apple" },
{ name: "Orange"},
{ name: "Banana" }
);
function dataonebuttonHandler()
{
debug_log("Clicked Data One Button Handler " );
data.replaceAll(nullData);
data.replaceAll(dataOne);
}
function datatwobuttonHandler()
{
debug_log("Clicked Data Two Button Handler ");
data.replaceAll(nullData);
data.replaceAll(dataTwo);
}
module.exports = {
data : data,
dataOne : dataOne,
dataTwo : dataTwo,
nullData : nullData,
datatwobuttonHandler : datatwobuttonHandler,
dataonebuttonHandler : dataonebuttonHandler
}
</JavaScript>
<Button Height="5px" Alignment="Top" >
<Clicked Handler="{dataonebuttonHandler}" />
<Text FontSize="15">Show Data One</Text>
</Button>
<Button Margin="10,10,5,10" Height="5px" Alignment="Bottom" >
<Clicked Handler="{datatwobuttonHandler}" />
<Text FontSize="15">Show Data Two</Text>
</Button>
<StackPanel ux:Name="showDataPanel" Alignment="Center" ItemSpacing="10">
<Each Items="{data}">
<StackPanel Orientation="Horizontal" Padding="10">
<SolidColor Color="0.9,0.9,0.92,1"/>
<Text Value="{name}" FontSize="30"/>
</StackPanel>
</Each>
</StackPanel>
</Panel>