2016-09-25 96 views
0

請我最後一步一步地添加和使用Ionic的插件。 我失去了幾個星期試圖在Ionic上使用插件,但每次我得到插件功能「未定義」。我真的需要解決這個問題,但我沒有成功。在Ionic上添加和使用插件

首先,我不想使用使用特殊硬件組件(如相機)的本機插件。我按照以下步驟:

1)我用科爾多瓦

2中創建我的應用程序),我用我的添加插件:

cordova plugin add mercadopago-plugin

3)我一直插在此以下腳本我index.html的:

<script src="cordova.js"></script> 
<script src="app.js"></script> 

4)我創建了我的template.html按鈕調用我的插件

<button ng-click="startCheckout()"> OK </button> 

5)我叫我上app.js插件

.controller('MyCtrl', function($scope) {  
     $scope.carrinho = allcarrinho;  
     var publicKey = "TEST"; 
     $scope.startCheckout = function(){ 
       MercadoPago.startCheckout(publicKey, prefId, null, false, success, failure); 
     }    
}) 

6)我一直在模仿我的管理prompt命令我在瀏覽器中鍵入應用:

ionic serve 

但當插件叫我得到這個錯誤:

ReferenceError: MercadoPago is not defined

我下面的文檔一切:

Plugin's documentation: http://mercadopago.github.io/px-hybrid/

我該如何解決它?

謝謝!

回答

2

你可能在你的控制器注入MercadoPago:

.controller('MyCtrl', function($scope, MercadoPago /*<--here*/) { 

我沒看到完整的代碼,但它必須是類似的東西。

或有涅槃時,它不破:

.controller('MyCtrl', ['$scope', 'MercadoPago', function($scope, MercadoPago) { .... 

this

+0

我試過了,但我得到了一個新的錯誤: ionic.bundle.min.js:133錯誤:[$ injector:unpr] http://錯誤。 angularjs。 HTTP:// mercadopago組織/1.3.6/$injector/unpr?p0=MercadoPagoProvider%20%3C-%20MercadoPago%20%3C-%20MyCtrl 在錯誤(原生) – vinoli

+0

一無所知注射是在插件文件中提到。 github.io/px-hybrid/ – vinoli

+0

這是奇怪的。我檢查了你的鏈接,它是西班牙文,但翻譯後仍然令人困惑。也許你不應該把它注射但window.MercadoPago.startCheckout()(或文件)調用它。我不知道。你有沒有檢查圖書館是否被加載? – user3791775

1

大多數科爾多瓦插件不會在瀏覽器中運行。你應該嘗試模擬器或模擬器。

要麼,你需要嘗試使用它

1

當您使用˝MercadoPago」這個插件使得本地電話前等待document.readyionicPlatform.ready該插件進行初始化。它不會在瀏覽器中運行,你應該在Android模擬器或手機運行

嘗試:

ionic emulate android -l -c 

,它應該工作。