angularjs - $state.go after a timeout or in $ionicPlatform.ready makes a boolean seem truthy and falsy at the same time -


we want have dynamic startup state in our application depending on factors (scroll down if you're interested in context).

we have following code achieve it: have fake routing state default state no ui makes decisions routing.

mainmodule.config(function($stateprovider, $urlrouterprovider) {    // ...    $stateprovider.state({       'routing': {         url: '/routing',         controller: 'routingcontroller'       }     });     $urlrouterprovider.otherwise('/routing'); });  mainmodule.controller('routingcontroller', function($state, $ionicplatform, $timeout) {     function donormalstartup() {         console.log("donormalstartup");         $state.go('timeline');     }      donormalstartup(); // fine     // $ionicplatform.ready(donormalstartup); // double ng-hide bug!     // $timeout(0).then(donormalstartup); // bug }); 

for simplicity put in example should route timeline state. when state navigation directly in routingcontroller, works fine, when in $ionicplatform.ready callback, produces weird bug:

we have 2 html nodes ng-show bound same variable, 1 negated. @ times, 1 of them should shown. however, angular adds ng-hide both nodes!

the bug happens when firing navigation inside $ionicplatform.ready or after timeout.

enter image description here

it seems angular binding machinery gets broken @ point. ideas how can possibly happen?

context:

if android app started via deep link web - i.e. http link intercepted app, want read original request url , decide routing.

to this, use webintent plugin. can read output when plugin initialized, i.e. inside $ionicplatform.ready callback.

edit:

i tried changing bound expression showemptytimeline foo.showemptytimeline , later showemptytimeline() method call, inside call console.log contents , they're boolean false.

changing callback donormalstartup function(){donormalstartup()} doesn't change anything.

try using

$ionicplatform.ready(function() {    donormalstartup(); } 

instead of code


Comments

Popular posts from this blog

sublimetext3 - what keyboard shortcut is to comment/uncomment for this script tag in sublime -

java - No use of nillable="0" in SOAP Webservice -

ubuntu - Laravel 5.2 quickstart guide gives Not Found Error -