我在我的应用程序控制器中有以下代码,似乎没有工作。在浏览器上测试它会给我带来这个错误" TypeError:无法读取属性'插件'未定义"。请注意,即使我在设备上模拟,也不会显示.then内的警报。
angular.module('controllers', ['ionic', 'ngCordova'])
.controller('MainCtrl', function($scope, $ionicSideMenuDelegate, $ionicPlatform, $cordovaLocalNotification, GoogleMaps) {
// Change Map Type
$scope.setMapType = function(newMapType) {
GoogleMaps.setMapType(newMapType);
alert("Setting notification");
// Supposed to trigger a notification
$cordovaLocalNotification.schedule({
id: 1,
title: 'Instant',
text: 'Instant Notification',
}).then(function (result) {
alert("Instant Notification set");
});
};
});
我还在index.html中导入了ng-cordova.min.js和cordova.js。 我也做过cordova插件添加https://github.com/katzer/cordova-plugin-local-notifications.git。任何想法为什么它可能无法正常工作?
答案 0 :(得分:0)
查看可能出现的问题列表:http://ngcordova.com/docs/common-issues/
我的建议是你必须将该插件包装在ionicPlatform.ready()事件中。
答案 1 :(得分:0)
在浏览器中,由于插件不可用,它会引发未定义错误的插件。
内部$ cordovaLocalNotification.schedule将广播一个事件。您可以在代码中使用$ on来处理。
$rootScope.$on('$cordovaLocalNotification:schedule',
function (event, notification, state) {
// ...
});
最好在设备上测试一次。 希望这会有所帮助。