vue2自定义组件v-model实现

页面设置和组件管理切换:使用自定义组件v-model实现

  •     setType是从vuex中读取的值,放在computed中
  •     父组件通过v-model将值setType传递给子组件ChangeSetType
  •     子组件接收v-model值: 使用props中固定值value接受
  •     子组件更改v-model值: 使用this.$emit("input", val),事件名必须是input
  •     父组件中因为需要接收子组件传递的值对setType进行更改,而setType是computed计算属性,所以需要使用get/set方法实现
  •     get时从vuex中获取值,set时,通过vuex中的更改setType的方法对setType值进行修改

 父组件:

    
  computed: {
    setType: {
      get() {
        return this.$store.state.decorate.setType;
      },
      set(newVal) {
        this.SET_TYPE(newVal);
      }
    }
  },

  methods: {
    ...mapMutations("decorate", ["SET_TYPE"])
  }

子组件:


 

你可能感兴趣的:(Vue框架与实战,Vue,自定义组件v-model)