我在我的 Vue.js cli webpack 项目中尝试了多个不同的插件,但我都遇到了同样的问题,即一旦我包含了一个插件,我就无法使用它。
举个例子。我曾尝试在此链接上使用该插件。https://www.npmjs.com/package/vue-sessionstorage
这是我的 main.js 文件
import Vue from 'vue'
import router from './router'
import VueMaterial from 'vue-material'
import { store } from './store'
import 'vue-material/dist/vue-material.css'
import 'vue-style-loader'
import VueSessionStorage from 'vue-sessionstorage'
import App from './App'
Vue.use(VueMaterial, VueSessionStorage);
Vue.config.productionTip = false;
/* eslint-disable no-new */
new Vue({
el: '#app',
router,
store,
template: '<App/>',
components: { App },
});
我已经运行 npm install --save vue-sessionstorage
可以看到,我也导入了 VueSessionStorage
但是,当我尝试像这样使用它时
methods: {
login: function () {
console.log("Login clicked");
this.$session.set('username','simon')
console.log(this.$session.get('username'));
},
register: function () {
console.log(this.$session.get('username'));
}
}
我得到错误
vue.esm.js?65d7:563 TypeError: Cannot read property 'set' of undefined
at VueComponent.login (Login.vue?2ddf:35)
at boundFn (vue.esm.js?65d7:179)
at Proxy.invoker (vue.esm.js?65d7:1821)
at Proxy.Vue.$emit (vue.esm.js?65d7:2331)
at click (mdButton.vue?3bf8:38)
at HTMLButtonElement.invoker (vue.esm.js?65d7:1821)
handleError @ vue.esm.js?65d7:563
Vue.$emit @ vue.esm.js?65d7:2333
click @ mdButton.vue?3bf8:38
invoker @ vue.esm.js?65d7:1821