It doesn’t work
<App>
<Router ux:Name="router"/>
<JavaScript>
var Storage = require("FuseJS/Storage");
var Observable = require("FuseJS/Observable");
var start;
Storage.read("login.txt")
.then(function(content) {
if (content.length != 0) start = "main";
else start = "login";
})
module.exports = {
start: start
};
</JavaScript>
<Navigator DefaultTemplate="{start}">
<LoginPage ux:Template="login" router="router" />
<MainPage ux:Template="main" router="router" />
<WebWeb ux:Template="webweb" router="router"/>
</Navigator>
</App>
Qujja
June 10, 2016, 9:34am
2
To use “start” outside of your Javascript code it has to be an Observable.
var start = Observable();
change its value like this:
start.value = "main";
that should work.
I have white screen on this:
<App>
<Router ux:Name="router"/>
<JavaScript>
var Storage = require("FuseJS/Storage");
var Observable = require("FuseJS/Observable");
var start = Observable();
Storage.read("login.txt")
.then(function(content) {
if (content.length != 0) {
start.value = "main";
console.log(start.value);
}
}, function(error) {
start.value = "login";
console.log(start.value);
});
module.exports = {
start: start.value
};
</JavaScript>
<Navigator DefaultTemplate="{start}">
<LoginPage ux:Template="login" router="router" />
<MainPage ux:Template="main" router="router" />
<WebWeb ux:Template="webweb" router="router"/>
</Navigator>
</App>
And in exports without .value too
You need to return the entire observable. Not start.value
. Like this:
module.exports = {
start: start
};
Have same issue, would be nice to have it working ^^
Curious! Just to sate my curiosity, try this:
var start = Observable("main");
exports.start = start;
You can generally use the exports object directly without redeclaring it, and this might actually solve your problem here.
Its still same, white screen :S
Hi @hybridPa
The DefaultTemplate property is not ment to be databound like that. In your case, you should just navigate using the navigator when you get the data you need from storage:
router.goto(thePageInQuestion);
With your code it would look something like this:
Storage.read("login.txt")
.then(function(content) {
if (content.length != 0) {
router.goto("main");
console.log(start.value);
}
}, function(error) {
router.goto("login");
console.log(start.value);
});
I hope this helps
Thanks a lot ^^ definitely will :)))