我正在使用I(新用户),我需要一些插件。我遇到了麻烦,为什么我想使用ngcordova,而不是直接使用cordova插件,使用以下步骤?
例如,为了能够捕获视频,我可以使用ngcordova插件:
$ cordova plugin add cordova-plugin-media-capture/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
module.controller('MyCtrl', function($scope, $cordovaCapture) {
$scope.captureVideo = function() {
var options = { limit: 3, duration: 15 };
$cordovaCapture.captureVideo(options).then(function(videoData) {
// Success! Video data is here
}, function(err) {
// An error occurred. Show a message to the user
});
}
});或者我可以直接使用cordova插件:
$ cordova plugin add cordova-plugin-media-capture/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
navigator.device.capture.captureVideo(
CaptureCB captureSuccess, CaptureErrorCB captureError,[CaptureVideoOptions options]
);
}然后我试着理解直接使用ngcordova插件的好处是什么?插件会不会直接变得更好,因为如果你需要最新的代码,而且没有抽象的话,你总是可以拥有它的?
发布于 2015-07-10 21:56:36
因为当你使用angularjs时,使用Cordova插件会变得容易得多。
使用ngCordova,您无需直接调用Cordova插件并确定正确的对象或插件名称,或者检查插件是否已实际安装,只需调用一个简单的AngularJS服务,如下所示:
$cordovaCamera.getPicture(options)
.then(function(imageData) {
// Process camera data
}, function(error) {
// Show an error to the user
});你可以在这里查看详细信息,http://blog.ionic.io/ng-cordova/
发布于 2016-08-16 05:46:44
ngCordova是一个框架,它使原生Cordova API可以作为AngularJS服务使用。
(Source)
因此,在没有ngCordova的情况下,您将通过“普通JS”直接访问Cordova库。ngCordova以一种角度友好的方式包装了这个库。
你可能会说,如果你在Angular中使用原始的Cordova (而不是ng- Cordova ),你应该将你的Cordova调用包装在一个服务中。这本质上是“重新发明轮子”,因为ng-cordova正是为了这个目的而提供的。:)
发布于 2016-04-01 04:46:03
如果您使用typescript,请注意ngcordova没有typescript类型,并且它们的函数签名可以并且有时确实不同于cordova函数签名。
https://stackoverflow.com/questions/31011051
复制相似问题