2014-11-06 3 views
6

Я хочу использовать Cordova Email Plugin в ионном приложении.Доступ к кордовым плагинам от ионного контроллера

Я могу получить доступ к плагину в функции $ ionicPlatform, но когда я переместил свой код на свой контроллер в функцию для дескриптора ng-click, это не работает.

Знайте, что мой вопрос: как получить доступ к объектам плагинов cordova от контроллера ??

Это мой код, который я использую в app.js и работал:

.run(function($ionicPlatform) { 
    $ionicPlatform.ready(function() { 

cordova.plugins.email.isAvailable(
    function (isAvailable) { 
     alert('Service is available'); 
    } 
); 
// Hide the accessory bar by default (remove this to show the accessory bar above the keyboard 
// for form inputs) 
if(window.cordova && window.cordova.plugins.Keyboard) { 
    cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true); 
} 
if(window.StatusBar) { 
    // org.apache.cordova.statusbar required 
    StatusBar.styleDefault(); 
} 
    }); 
}) 

Это тот же код в controller.js, который не работал (я установил мой контроллер в моем маршруте):

.controller('ApplicationController', function($scope) { 
    $scope.sendMail = function() { 
    cordova.plugins.email.isAvailable(
     function (isAvailable) { 
      alert('Service is not available'); 
     } 
    ); 
    } 
}) 

и это мой вызов нажмите:

<a ng-click="sendMail()"> 
    <i class="icon ion-android-forums"></i> 
send mail 
    </a> 

Это код хорошо работает в $ ionicPlatform, но г не работает в отдельном файле контроллера.

+0

Показать полный код вашего контроллера – denisazevedo

+0

Просьба указать, как вы звоните и определяете эту функцию через ng-click – ShinyJos

+0

Спасибо за внимание. Обновляю свой вопрос, добавьте еще код. – b24

ответ

0

Для этого вам необходимо использовать обертку Angular.js.

Отъезд ngCordova.

+0

Ладислав, пожалуйста, приведи пример? :-) – Sopo

-1

Попробуйте использовать window.cordova вместо cordova при обращении к плагину вне $ionicPlatform.

Смежные вопросы