我正在尝试使用 Ionic 2 的 MediaCapture 最简单的形式。我创建了一个全新的项目并按所述添加它 here .
但是当我尝试使用它时:
import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';
import { MediaCapture, MediaFile, CaptureError, CaptureImageOptions } from '@ionic-native/media-capture';
@Component({
selector: 'page-home',
templateUrl: 'home.html'
})
export class HomePage {
constructor(private mediaCapture: MediaCapture) {
}
}
出现此错误(最后是我的环境信息):
Runtime Error
Uncaught (in promise): Error: No provider for MediaCapture! Error at g (http://127.0.0.1:8100/build/polyfills.js:3:7133) at injectionError (http://127.0.0.1:8100/build/main.js:1511:86) at noProviderError (http://127.0.0.1:8100/build/main.js:1549:12) at ReflectiveInjector_._throwOrNull (http://127.0.0.1:8100/build/main.js:3051:19) at ReflectiveInjector_._getByKeyDefault (http://127.0.0.1:8100/build/main.js:3090:25) at ReflectiveInjector_._getByKey (http://127.0.0.1:8100/build/main.js:3022:25) at ReflectiveInjector_.get (http://127.0.0.1:8100/build/main.js:2891:21) at AppModuleInjector.NgModuleInjector.get (http://127.0.0.1:8100/build/main.js:3856:52) at resolveDep (http://127.0.0.1:8100/build/main.js:11260:45) at createClass (http://127.0.0.1:8100/build/main.js:11117:35) at createDirectiveInstance (http://127.0.0.1:8100/build/main.js:10954:37) at createViewNodes (http://127.0.0.1:8100/build/main.js:12303:49) at createRootView (http://127.0.0.1:8100/build/main.js:12208:5) at callWithDebugContext (http://127.0.0.1:8100/build/main.js:13339:42) at Object.debugCreateRootView [as createRootView] (http://127.0.0.1:8100/build/main.js:12800:12)
Stack
Error: Uncaught (in promise): Error: No provider for MediaCapture!
Error
at g (http://127.0.0.1:8100/build/polyfills.js:3:7133)
at injectionError (http://127.0.0.1:8100/build/main.js:1511:86)
at noProviderError (http://127.0.0.1:8100/build/main.js:1549:12)
at ReflectiveInjector_._throwOrNull (http://127.0.0.1:8100/build/main.js:3051:19)
at ReflectiveInjector_._getByKeyDefault (http://127.0.0.1:8100/build/main.js:3090:25)
at ReflectiveInjector_._getByKey (http://127.0.0.1:8100/build/main.js:3022:25)
at ReflectiveInjector_.get (http://127.0.0.1:8100/build/main.js:2891:21)
at AppModuleInjector.NgModuleInjector.get (http://127.0.0.1:8100/build/main.js:3856:52)
at resolveDep (http://127.0.0.1:8100/build/main.js:11260:45)
at createClass (http://127.0.0.1:8100/build/main.js:11117:35)
at createDirectiveInstance (http://127.0.0.1:8100/build/main.js:10954:37)
at createViewNodes (http://127.0.0.1:8100/build/main.js:12303:49)
at createRootView (http://127.0.0.1:8100/build/main.js:12208:5)
at callWithDebugContext (http://127.0.0.1:8100/build/main.js:13339:42)
at Object.debugCreateRootView [as createRootView] (http://127.0.0.1:8100/build/main.js:12800:12)
at g (http://127.0.0.1:8100/build/polyfills.js:3:7133)
at l (http://127.0.0.1:8100/build/polyfills.js:3:6251)
at http://127.0.0.1:8100/build/polyfills.js:3:6805
at t.invokeTask (http://127.0.0.1:8100/build/polyfills.js:3:15213)
at Object.onInvokeTask (http://127.0.0.1:8100/build/main.js:4415:37)
at t.invokeTask (http://127.0.0.1:8100/build/polyfills.js:3:15134)
at n.runTask (http://127.0.0.1:8100/build/polyfills.js:3:10390)
at a (http://127.0.0.1:8100/build/polyfills.js:3:5313)
Ionic Framework: 3.0.1
Ionic App Scripts: 1.3.0
Angular Core: 4.0.0
Angular Compiler CLI: 4.0.0
Node: 6.10.1
OS Platform: macOS Sierra
Navigator Platform: MacIntel
User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) Ap
最佳答案
最近,发生了一项更改,您必须将在应用程序中使用的所有 ionic native 插件“提供”到 app.module。因此,您应该将 MediaCapture 添加到 app.module.ts 文件的providers 数组中。然后,它将开始工作
关于angular - 错误: No Provider for MediaCapture in Ionic2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43599703/