在Ionic上添加和使用插件

问题描述:

请我最后一步一步地添加和使用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/

我该如何解决它?

谢谢!

你可能在你的控制器注入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

大多数科尔多瓦插件不会在浏览器中运行。你应该尝试模拟器或模拟器。

要么,你需要尝试使用它

当您使用˝MercadoPago”这个插件使得本地电话前等待document.readyionicPlatform.ready该插件进行初始化。它不会在浏览器中运行,你应该在Android模拟器或手机运行

尝试:

ionic emulate android -l -c 

,它应该工作。