带有phonegap的onsen-ui:在app上推送页面准备就绪

时间:2014-06-23 11:39:34

标签: cordova onsen-ui

我检查device.ready本地存储是否已经登录用户。然后我需要导航到" home.html"或" login.html"但我总是得到引用错误"未捕获的ReferenceError:ons未定义"。

ons.navigator.pushPage('home.html');

我也尝试过window.onload或$(document).ready但我总是得到同样的错误。 按钮点击工作正常。

谢谢你的建议, 科内尔

3 个答案:

答案 0 :(得分:3)

ons.ready侦听cordova deviceready事件和加载的onsen

ons.ready(function(){

   myNavigator.pushPage('home.html');

});

答案 1 :(得分:1)

有两个问题。一个是Navigator的范围,另一个是时间。 不幸的是,当前的Onsen-UI(版本1.0.4)没有加载页面的触发器。 您必须等到导航器的页面已加载。

例如,

    document.addEventListener('deviceready',onDeviceReady,false);

    function onDeviceReady() {
        checkScope();
    }

    function checkScope() {
        var element = document.querySelector( ".navigator-container");
        var scope = angular.element( element ).scope();
        if (scope && scope.getCurrentNavigatorItem && scope.getCurrentNavigatorItem() ) {
            scope.pushPage("page2.html");
        } else {
            setTimeout( checkScope , 100 );
        }

    }

答案 2 :(得分:0)

请尝试使用以下代码:

menu.setMainPage('home.html', {closeMenu: true});