Vue.js V-model给出:V-on处理程序中出现错误:“0”;TypeError:x27的右侧;在';应该是一个对象,得到null“;具有计算功能

Vue.js V-model给出:V-on处理程序中出现错误:“0”;TypeError:x27的右侧;在';应该是一个对象,得到null“;具有计算功能,vue.js,Vue.js,我有一个Vuetify组件,它根据vuex值进行切换 组成部分: <v-navigation-drawer app floating color="#F5F7F8" :mini-variant.sync="this.toggleMini" width="240" v-model="this.mobileToggle" :permanent="$vuetify.breakpo

我有一个Vuetify组件,它根据vuex值进行切换

组成部分:

<v-navigation-drawer
  app
  floating
  color="#F5F7F8"
  :mini-variant.sync="this.toggleMini"
  width="240"
  v-model="this.mobileToggle"
  :permanent="$vuetify.breakpoint.mdOnly"
  :temporary="$vuetify.breakpoint.smAndDown"
  v-click-outside="this.overlayToggle"
  v-if="this.setUser"
  >
</v-navigation-drawer>
贮藏

解决方法,因为如果单击导航覆盖,状态不会更新。(这也被称为已创建)

它在移动设备上工作,但是如果我调整屏幕大小,或者使用开发工具,我会得到:
v-on处理程序中的错误:“TypeError:'in'的右侧应该是一个对象,get null”
on
v-model=“this.mobileToggle”


据我所知,这件事没有什么牵连。mobileToggle也不是空的,它是假的。

您的v型模型是这种模式的一种转换:

:value="this.mobileToggle"
@input="this.mobileToggle = $event"
您的计算机在这里没有设置器

只需这样修改它:

mobileToggle: {
  get(){
    if (this.$store.getters.g_mobileDrawer === !null) {
      return this.$store.getters.g_mobileDrawer;
    }
    return false;
  },
  set(newMobileToggle){
    // your action to mutate g_mobileDrawer
  }      
},

如果您不希望导航抽屉变异g_mobileDrawer,那么将v-model替换为:value

g_mobileDrawer的值是多少?
g_mobileDrawer
?您的条件是错误的,您应该执行类似于
(this.$store.getters.g_mobileDrawer!==null)
@Boussadjrahim好的,更改了。g_mobileDrawer是真的。没有setter,因为我的变异在菜单切换的标题组件中。Tbh我不知道你的错误是否与计算的错误有关。但是这样做:this.mobileToggle=$event应该触发一个错误。您是否尝试过使用:value而不是v-model?是的,行为不会改变。
    overlayToggle() {
      // workaround for close on overlay click on mobile, otherwise state isn't updated.
      if (this.$vuetify.breakpoint.smAndDown && this.mobileToggle === true) {
        this.$store.commit('mobileToggle');
      }
    },
:value="this.mobileToggle"
@input="this.mobileToggle = $event"
mobileToggle: {
  get(){
    if (this.$store.getters.g_mobileDrawer === !null) {
      return this.$store.getters.g_mobileDrawer;
    }
    return false;
  },
  set(newMobileToggle){
    // your action to mutate g_mobileDrawer
  }      
},