繁体   English   中英

VueJs 如何每天调用一次模态?

[英]VueJs How to call a modal once a day?

下午好)请帮助。 如何在网站加载时每天弹出一次模式。 我有 localstorage 和 cookie 两个选项,但我不知道如何使逻辑正确。

项目链接https://codesandbox.io/s/kind-torvalds-e315y?file=/src/App.vue:2283-2284

嘿,我认为这应该有效

// modalService.js
const STORAGE_KEY = "LS_LAST_UPDATE";

const getStorageValue = () => {
  try {
    return JSON.parse(localStorage.getItem(STORAGE_KEY));
  } catch {
    return "";
  }
};

const setStorageValue = (value = "") =>
  localStorage.setItem(STORAGE_KEY, JSON.stringify(value));

const dateIsOld = () => {
  const today = new Date().toLocaleDateString();

  return getStorageValue() !== today;
};

const updateDate = () => {
  setStorageValue(new Date().toLocaleDateString());
};

export { dateIsOld, updateDate };

export default {
  dateIsOld,
  updateDate,
};

在你的 vue 组件中你做这样的事情

import { dateIsOld, updateDate } from "./path/to/modalService.js"
export default {
  name: "App",
  data() {
    return {
      showModal: false,
    };
  },
  mounted() {
    //this.runModalTimer()
    this.showModal = dateIsOld()
  },
  methods: {
    close() {
      this.showModal = false;
      updateDate()
    },
  };
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM