$ scope不会在视图中调用

时间:2015-06-18 11:44:27

标签: angularjs cordova ionic-framework

我在angularJS的帮助下开发了一款cordova移动应用程序。在那,我添加了事件监听器' resume'当您登录应用程序时调用,无需注销即可从应用程序中显示,然后再次点击移动设备上的应用程序图标再次查看。

我的前视图是:

 <!DOCTYPE html>
 <html ng-app="iot">
 <head>
    <meta charset="utf-8">
    <title>Data Cloud</title>
    <meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width">
    <link href="css/ionic.min.css" rel="stylesheet">
    <link href="css/style.css" rel="stylesheet">
    <script src="js/app.js"></script>
    ......Application js are here.........

    <script type="text/javascript">
        function onLoad() {
            document.addEventListener("resume", onResume, false);
        }
    </script>

    </head>
<body onload="onLoad()" ng-controller="MainCtrl">

<script type="text/javascript">
    function onResume() {
        if (window.localStorage.getItem("userid") === null) {
            alert('Hi');
        }else{
            alert('calling');
            $scope.checkForUpdate();
        }
    }
</script>

    <ion-nav-view animation="slide-left-right"></ion-nav-view>
    ...

我的checkForUpdate();函数位于MainCtrl内的控制器app.js内,其js文件也包含在此页面中。

当我第一次打开应用程序时,它会被调用并显示来自if部分功能onResume()的警报,然后我登录并从应用程序中退出。下次当我点击应用程序时,它从我离开的地方开始并向我显示警报calling但是下一部分没有执行我知道$ scope未定义在这里,因为相应的函数在我的{{ 1}}控制器在app.js文件中如何调用该函数?任何想法

提前感谢您的回复。

1 个答案:

答案 0 :(得分:0)

请参阅此博客文章,了解如何使用Angular和Ionic,http://tripleneo.nl/resume-app-using-angularjs-ionic/

使用简历
.run(function ($ionicPlatform, $state, $timeout) {
    $ionicPlatform.ready(function () {
        document.addEventListener("deviceReady", function () {
            document.addEventListener("resume", function () {
                $timeout(function () {
                    navigator.notification.confirm(
                        "\nYou are still tracking an activity. Do you want to view it?",
                        function () {},
                        "Information", ["YES", "NO"]
                    );
                }, 0);
            }, false);
        });
    });
})