【发布时间】:2020-07-25 21:01:16
【问题描述】:
在开发 Phonegap 应用时,我使用 Vuex 来管理应用的状态。所以,我在 App.vue:
// Import store
import store from './vuex/store'
稍后我想创建一个年度订阅,为此我使用 cordova-plugin-purchase 插件 (https://github.com/j3k0/cordova-plugin-purchase),它导出一个名为“store”的全局对象。
因此,当我尝试使用此插件的“注册”方法时,我收到一条错误消息,提示 Vuex 没有“注册”方法:
store.register()
"TypeError: _vuex_store__WEBPACK_IMPORTED_MODULE_0__["default"].register 不是函数。"
如果这是为 Cordova 项目创建 IAP 的最新且可行的插件,我该如何避免这种冲突?
这是我的代码:
在 app.js:
// Init App
new Vue({
el: '#app',
template: '<app/>',
// Register App Component
components: {
app: App
}
});
在 App.vue:
// Import store
import store from './vuex/store'
export default {
store,
data() {
return {...
在 Login.vue:
if (response.data.result === 'OK') {
this.$store.dispatch('setUserID', response.data.user._id);
this.$store.dispatch('setUserEmail', response.data.user.email);
this.$store.dispatch('setUserName', response.data.user.name); ...
稍后在组件中设置 IAP:
<script>
import store from "../vuex/store";
...
mounted() {
// Register the product
store.register([ // being referred here to IAP global store object
{
id: ...
我应该补充一点,我正在使用 Framework7 + Vue + Webpack
【问题讨论】:
-
你可以在导入 Vuex
store时使用任何你想要的名称。import vuexstore from './vuex/store' -