我在开发中使用Nuxt.js。
我使用cookie-universal-nuxt
在服务器端和客户端获取Cookie
modules:[
[.....] ,
[.....] ,
[.....] ,
['cookie-universal-nuxt', { alias: 'myCookie' }],
]
而且我有一个辅助功能
// helper.js
const func = {
getSomthingFromCookie(check){
return this.$myCookie.get('check') === check ? "something" : "else"
}
}
export default func
// another functions
const mixin = {
methods: {
getSomthingFromCookie(check){
return this.$myCookie.get('check') === check ? "something" : "else"
}
}
}
Vue.mixin(mixin)
// use this.getSomthingFromCookie outside
然后在商店或某些页面中使用它
// Page.vue or store.js
<div>{{ helper.getSomthingFromCookie("test") }}</div>
..
..
..
..
..
import helper from '~/function/helper.js'
OR
const result = helper.getSomthingFromCookie("test")
但它返回:
Cannot read property 'get' of undefined
我认为是因为helper.js
无法访问vue实例,所以它无法获得this.$myCookie
。
我尝试过import Vue from 'vue'
和console.log(Vue)
但是登录终端就像
{ install: [Function] },
{ install: [Function] },
{ install: [Function] },
{ install: [Function] },
{ install: [Function] },
{ install: [Function] },
{ install: [Function] },
{ install: [Function] },
因此,我不确定能否在导入的$myCookie
中获得Vue
函数。
我知道我可以通过将getSomthingFromCookie.get('check')
移到外部并将其传递回给函数,例如:
getSomthingFromCookie(check,cookie){ return cookie === check ? "something" : "else" }
但这不是效率,需要更改许多代码。有更好的解决方案或建议吗?
我在开发中使用Nuxt.js。我使用cookie-universal-nuxt在服务器和客户端模块中获取cookie:[[.....],[.....],[.....],['cookie-universal-nuxt' ,{别名:'...
在helper.js
文件中,您无法使用vue
绑定访问this
实例。您必须显式导入Vue。