我正在laravel vue应用程序中尝试vue cook插件,这就是我的方法
<template>
<div class="tranbg" v-if="first">
<div>hello</div>
<button @click="turnOff">ok</button>
</div>
</template>
<script>
export default {
data(){
return {
first: true
}
},
computed(){
if (this.$cookie.get('firstvisit') == 'visited') {
this.first = false
}
},
methods:{
turnOff(){
this.first = false
this.$cookie.set('firstvisit', 'visited', 30000); // 30,000 days
}
}
}
</script>
我的app.js
import VueCookies from '../../../node_modules/vue-cookies'
Vue.use(VueCookies)
const app = new Vue({
el: '#app',
});
收到错误app.js?v = 226:103199未捕获的TypeError:当我单击按钮时无法读取未定义的属性“ set”
答案 0 :(得分:1)
Vue.js documentation告诉您在初始化Vue实例之前 注册插件。
在应用程序中的某个时刻,您将创建一个new Vue(...)
实例。
在此之前,您需要调用Vue.use(VueCookies)
,而不是在组件的文件中。由于在导入组件时可能已经实例化了Vue,所以$cookie
属性尚未设置。