Open rhsmz opened 2 years ago
処理を行っているのは deviceready
のイベント後になるでしょうか? deviceready
の実行後でないと、Cordovaプラグインが初期化されていない(利用できない)状態の可能性があります。
mountedはDOMがマウントされたタイミングで実行されるので、少し早いのかも知れません。試しに、こうすると window.NCMB.monaca
は存在するでしょうか?
// ↓これは適当です
mounted() {
document.addEventListener('deviceready', e => {
console.log(window.NCMB.monaca);
});
}
開発しているプロジェクトで試してみると存在してないですね。
一旦Monaca で新規プロジェクトFramework7+vueのバージョン上がってたのでそちらでも試したのですが、こちらではwindow.NCMB.monaca
は存在できていました。
代わりにJSコンポーネントのNCMBが‘Class extends value undefined is not a constructor or null‘エラー吐いて起動エラーしますね。。。
JS/CSSコンポーネントの追加と削除でNCMBを追加していますか?Cordovaプラグインしか入れていないとか?
Monaca + vue + Framework7で
window.NCMB.monaca.getInstallationId
を動かした際にwindow.NCMB.monaca
がundefinedエラーになります。 iOSでは正常に動作しているため、CordovaプラグインとJSコンポーネントが悪さしているのかなと思い、再インストールしてみましたが動作しません。 解決方法が思いつかないので、アドバイスお願いしますncmb-push-monaca-plugin: v3.1.1 ncmb.min.js : v3.1.3
以下のメソッド(ncmbInitialize)をApp.vueのmounted() にてthis.$root.ncmbInitialize()で呼び出してます。