使用Capacitor和Cordova插件InAppBrowser时没有提供程序错误

kadbb459  于 2022-11-15  发布在  其他
关注(0)|答案(1)|浏览(144)

我无法使用Cordova plugin InAppBrowser
我的项目设置是Angular 13 +电容器为Android构建,这是工作正常,直到我尝试使用InAppBrowser插件。
我是按照上面链接的指示,但没有成功。

import { InAppBrowser } from '@awesome-cordova-plugins/in-app-browser/ngx';
...
constructor(
        private fb: FormBuilder,
        private iab: InAppBrowser
    ) {}
...
redirectMe = async () => {
        console.log('redirect init');
        const options: any = {
            location: 'no',
            clearcache: 'yes',
            zoom: 'yes',
            toolbar: 'yes',
            closebuttoncaption: 'close'
        };

        console.log('redirect me triggered');
        const browser = this.iab.create(
            'https://somelink.com',
            '_blank',
            options
        );

        console.log('opened');
        console.log('browser=>');
        browser.on('loadstop').subscribe(() => { ... do something});

我在运行时遇到此错误:
错误空注入器错误:R3进样器错误(主模块)[应用程序浏览器-〉应用程序浏览器-〉应用程序浏览器-〉应用程序浏览器]:空注入器错误:没有InAppBrowser的提供程序!
当我将提供程序中的InAppBrowser放入app.module.ts时:

import { InAppBrowser } from '@awesome-cordova-plugins/in-app-browser';
...
providers: [
        InAppBrowser
       ...
]

我遇到以下错误:
main.ts:14错误:NgModule 'AppModule'的提供者无效-只允许提供者和型别的执行严修,取得:[?[对象对象]?,...,...,...,...,...,...]出现无效提供程序错误(core.mjs:249:1)
你知道为什么会这样吗?我怎么才能使用InAppBrowser插件与电容器和Angular ?

huwehgph

huwehgph1#

在应用程序模块ts中,替换

import { InAppBrowser } from '@awesome-cordova-plugins/in-app-browser';

import { InAppBrowser } from '@awesome-cordova-plugins/in-app-browser/ngx';

总是手动检查插件导入,因为自动导入时,通常会丢失ngx。

相关问题