为什么平台就绪事件不会在 Capacitor 中触发?
Why platform ready event doesn't fire in Capacitor?
我刚刚安装了Capacitor,似乎不需要添加平台就绪事件。我试过这段代码:
async initializeApp() {
await Browser.open({
url: 'https://www.google.com'
});
this.platform.ready().then(() => {
console.log('ready');
});
}
无论我在就绪事件中添加什么,它都不会触发(就像 cordova)。而且似乎我可以在没有就绪事件的情况下直接调用本机 api。但是,如果我们使用 cordova 插件,我们应该在哪里调用它们?
编辑:
如 here.
所述,V4.Alpha7 中似乎存在问题
正如您所说,这是一个 Ionic 4 错误,现在已修复。
关于何时调用 Cordova 插件,与 Capacitor 插件一样,您可以在应用启动后立即调用它们,而无需等待就绪事件。
但是一旦修复发布,您也可以根据需要保留现成的代码。它的工作方式与 ready 一样,也会在您的应用启动后立即调用。
我相信你现在可以使用这个了:
import { Platform } from 'ionic-angular';
@Component({
selector: 'page-home',
templateUrl: 'home.html'
})
export class HomePage {
constructor(public platform: Platform) {
platform.ready().then(/* register your plugins here*/);
}
}
我刚刚安装了Capacitor,似乎不需要添加平台就绪事件。我试过这段代码:
async initializeApp() {
await Browser.open({
url: 'https://www.google.com'
});
this.platform.ready().then(() => {
console.log('ready');
});
}
无论我在就绪事件中添加什么,它都不会触发(就像 cordova)。而且似乎我可以在没有就绪事件的情况下直接调用本机 api。但是,如果我们使用 cordova 插件,我们应该在哪里调用它们?
编辑:
如 here.
正如您所说,这是一个 Ionic 4 错误,现在已修复。
关于何时调用 Cordova 插件,与 Capacitor 插件一样,您可以在应用启动后立即调用它们,而无需等待就绪事件。
但是一旦修复发布,您也可以根据需要保留现成的代码。它的工作方式与 ready 一样,也会在您的应用启动后立即调用。
我相信你现在可以使用这个了:
import { Platform } from 'ionic-angular';
@Component({
selector: 'page-home',
templateUrl: 'home.html'
})
export class HomePage {
constructor(public platform: Platform) {
platform.ready().then(/* register your plugins here*/);
}
}