Javascript can';t将变量均衡为从本地存储[Vuejs]检索到的另一个变量
我在一个网站上工作,那里有一个对话框(来自vuetify库)绑定到一个名为“tutorial”的变量,在该对话框中有一个关闭对话框的按钮和一个复选框,如果我在关闭前选中了该复选框,我会将localstorage上的一个变量设置为“false”,在创建的lifehook中,我尝试将对话框绑定到的变量与本地存储中的变量进行均衡,但这不起作用。此处的组件:Javascript can';t将变量均衡为从本地存储[Vuejs]检索到的另一个变量,javascript,vuejs2,local-storage,Javascript,Vuejs2,Local Storage,我在一个网站上工作,那里有一个对话框(来自vuetify库)绑定到一个名为“tutorial”的变量,在该对话框中有一个关闭对话框的按钮和一个复选框,如果我在关闭前选中了该复选框,我会将localstorage上的一个变量设置为“false”,在创建的lifehook中,我尝试将对话框绑定到的变量与本地存储中的变量进行均衡,但这不起作用。此处的组件: <template> <v-containter> <v-dialog v-model="tutoria
<template>
<v-containter>
<v-dialog v-model="tutorial" max-width="500px">
<v-card>
<v-card-title>
Tutorial
</v-card-title>
<v-card-text>
Some tutorial text here
</v-card-text>
<v-card-actions>
<v-btn color="error" @click="closeTutorial">Close</v-btn>
<v-checkbox v-model="dontShowAgain" label="Don't show this again"></v-checkbox>
</v-card-actions>
</v-card>
</v-dialog>
</v-container>
</template>
<script>
const STORAGE_KEY = 'tutorial';
export default {
data() {
return {
tutorial: true,
dontShowAgain: false,
}
},
created() {
if (localStorage.getItem(STORAGE_KEY) === !null) {
this.tutorial = localStorage.getItem(STORAGE_KEY);
}
},
methods: {
closeTutorial() {
this.tutorial = false;
if (this.dontShowAgain) {
localStorage.setItem(STORAGE_KEY, this.tutorial)
}
}
}
}
</script>
辅导的
这里有一些教程文本
关
常量存储_键='tutorial';
导出默认值{
数据(){
返回{
教程:对,
唐秀:错,
}
},
创建(){
if(localStorage.getItem(存储密钥)==!null){
this.tutorial=localStorage.getItem(存储密钥);
}
},
方法:{
关闭教程(){
this.tutorial=false;
如果(此。不再显示){
setItem(存储密钥,本教程)
}
}
}
}
只要我能在localStorage中看到,当我关闭对话框并选中复选框时,该值实际上是被设置的,但是当我尝试将组件中的变量与localStorage中的变量相等时,created()方法没有发生任何变化,我做错了什么?在
localStorage.setItem
之前尝试通过json.stringify()
将值转换为json,当您从localStorage获取时,应用json.parse()
以确保值的类型正确。在localStorage.setItem
之前尝试通过json.stringify()将值转换为json
当您从localStorage获取时,应用JSON.parse()
以确保正确的值类型太棒了!这非常有效,把它作为答案,这样我就可以投票选它为更好的答案