vue页面缓存之后,再回到之前页面,时间组件报错

设置缓存


handleShow (card) {

        if (!this.form.activityEndTime) {

          this.$message.error("请先选择活动结束时间");

          return ;

        } else if (this.selectTicket.length < 10){

          this.$refs.dialog.show(null, this.form.activityEndTime);

        } else {

          this.$message.error("最多只能添加10张优惠券");

        }

        localStorage.setItem("activitySaved",JSON.stringify(this.form));

        let test = JSON.parse(localStorage.activitySaved);

        console.log(test);

      },

通过特定页面进入读取缓存


 beforeRouteEnter (from, to, next) {

      next(vm => {

        if (to.path.includes('/MarketingManage/Coupon/AddCoupon')) {

          if (localStorage.getItem('activitySaved')){

            vm.form = JSON.parse(localStorage.activitySaved);

            console.log(2,vm.form.activityStartTime);

          }

        }

      });

    },

读取之后

https://img3.mukewang.com/5c9ae6f4000178ef08000303.jpg

return {

      startPickerOptions: {

        disabledDate (currentDate) {

          console.log(2,_this.form.activityStartTime);

          return _this.$moment().startOf('days').valueOf() > currentDate.getTime()

            || (_this.form.activityEndTime && currentDate.getTime() > _this.form.activityEndTime.getTime());

        }

      },

      endPickerOptions: {

        disabledDate (currentDate) {

          return (_this.$moment().startOf('days').valueOf() + 86400000) > currentDate.getTime()

            || currentDate.getTime() <= _this.form.activityStartTime.getTime() - 86400000;

        }

      },

      startTime: minutes >= 30 ? _this.$moment().add(1, 'hours').format('HH:00') : _this.$moment().format('HH:30'),

      endTime: '00:00',

      commitStatus: true

    };

  },


慕运维8079593
浏览 424回答 1
1回答

一只斗牛犬

因为你从localstorage里取出来的activityStartTime只是个字符串,不是个Date对象了
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript