如何使用本地通知调用离子angularjs中的函数

时间:2016-12-22 14:07:14

标签: javascript angularjs cordova ionic-framework

我的应用程序有两个按钮,Add按钮和Schedule按钮, 当我点击添加按钮时,将触发通知,然后会出现通知选项卡。

这是代码

Js代码

app.controller('contNoti', function ($scope, $cordovaLocalNotification)
{
    $scope.add = function () {
        var alarmTime = new Date();
        alarmTime.setMinutes(alarmTime.getMinutes() + 1);
        $cordovaLocalNotification.add({
            id: "1234",
            date: alarmTime,
            message: "This is a message",
            title: "This is a title",
            autoCancel: true,
            sound: null
        }).then(function () {
            console.log("The notification has been set");
        });
    };

    $scope.isScheduled = function () {
        $cordovaLocalNotification.isScheduled("1234").then(function (isScheduled) {
            alert("Notification 1234 Scheduled: " + isScheduled);
        });
    };
});
<ion-content ng-controller="contNoti">
    <button class="button" ng-click="add()">Add notification</button>
    <button class="button" ng-click="isScheduled()">Is Scheduled</button>
</ion-content>

好的,我需要的是使用相同的功能但没有按钮来制作相同的应用程序。我想让它自动执行而不点击按钮。感谢

2 个答案:

答案 0 :(得分:0)

我不确定我理解你的问题,但无论如何都要运行$scope.add(),这是正确的吗?

如果是这样,只需在$scope.add();阻止后添加$scope.isScheduled = function () {...};

我希望这是您正在寻找的答案,否则,请提供更多详细信息。

答案 1 :(得分:0)

您可以使用$ ionicView:

中的事件触发您的方法

在你的控制器内:

$scope.$on('$ionicView.enter', function(data) {
     $scope.add();
     $scope.isScheduled();
})

一旦用户进入视图,它们就会被执行。

注意:这些功能可以是私有的(不附加到$ scope)。因为它们不会在视图中使用。