не может выровнять переменную к другой, полученной из localStorage [Vuejs] - PullRequest
0 голосов
/ 07 июня 2018

Я работаю над веб-сайтом, где есть диалог (из библиотеки vuetify), связанный с переменной с именем "tutorial", внутри этого диалога есть кнопка, чтобы закрыть диалог, и флажок, если я проверяю ckeckbox перед закрытием, я устанавливаю переменную в localstorage как «ложь», и при созданном спасательном крючке я пытаюсь выровнять переменную, к которой привязан диалог, к переменной в локальном хранилище, но это не работает.Компонент здесь:

<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>

Пока я могу видеть в моем localStorage, значение фактически устанавливается, когда я закрываю диалог с установленным флажком, но ничего не происходит в методе созданного (), когда я пытаюсьчтобы выровнять переменную в компоненте к переменной в localStorage, что я делаю не так?

1 Ответ

0 голосов
/ 07 июня 2018

Попробуйте до localStorage.setItem преобразовать значение в json с помощью JSON.stringify(), а когда вы получите localStorage, примените JSON.parse(), чтобы обеспечить правильный тип значения.

...