Обновление куки на часах Vue.js

Кроме того, в XSLT 2.0 вы можете использовать операторы «gt» (больше, чем), «lt» (меньше) и «eq» (равно). Использование этих вместо сущностей делает ваш код немного более чистым.

0
задан Heyab Redda 18 January 2019 в 18:26
поделиться

2 ответа

Ваш obj внутри крючка mounted локально ограничен. Если вы не объявите его внутри функции data вашего компонента или как вычисляемое свойство, наблюдатель не увидит его, потому что он не реагирует.

Попробуйте:

data () {
    return {
      obj: null
    }
  },
  mounted () {
    this.$set(this, 'obj', {name: 'hello', age:'10', gender: 'not to say'});
    Cookies.set("name", JSON.stringify(this.obj), {expires: '1m'});
    Cookies.get("name");
  }

Позже отредактируйте: Исходя из вашего комментария ниже и обновленного фрагмента кода, я все еще подозреваю, что ваша проблема вызвана неправильным обновлением вашего локального государство.

Поскольку ваш объект инициализируется как пустой литерал, когда вы обновляете его с помощью this.obj = objectPassed; в savedDetails, вы по существу создаете новые свойства объекта. Этот тип обновления не будет реактивным, и, следовательно, ваш наблюдатель не будет ничего делать. Правильный способ обеспечения реактивности:

this.$set(this, 'obj', objectPassed);

Подробнее о предупреждениях о реактивности читайте в официальной документации по теме « Глубина реактивности »

0
ответ дан Anca 18 January 2019 в 18:26
поделиться

Просто обновите файл cookie вместе с методом saveDetails следующим образом

<template>
   <details @detailsCompleted="savedDetails"></details>
 </template>

 data() {
   return {
     obj:{}
    }
  },
  methods: {
    savedDetails: function(objectPassed) {
      this.obj = objectPassed;
      Cookies.set("name", JSON.stringify(objectPassed), {expires: '1m'});
      Cookies.get("name");
    }
  },
  mounted: function() {
    this.obj = {};
    Cookies.set("name", JSON.stringify(this.obj), {expires: '1m'});
    Cookies.get("name");
  }

РЕДАКТИРОВАТЬ:

https://jsfiddle.net/k85o7bdq/

Вот рабочая скрипка.

Возможно, вы пытаетесь определить, был ли файл cookie обновлен, просматривая вкладку «Приложение» в инструментах разработчика? Там есть небольшая кнопка обновления, попробуйте нажать ее после обновления куки.

0
ответ дан Karolis Stakėnas 18 January 2019 в 18:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: