从vuex获取数据而无需绑定

时间:2018-10-19 16:45:20

标签: vue.js vuex

我有一个可以修改标题的表格。如果单击重置按钮,则该值应重置。但是,由于我的头条来自vuex,因此initTitle也将受到影响。

data() {
  return this.$store.getters[this.view];
},
initTitle() {
  return this.data.name;
},
title: {
  get() {
    return this.data.name;
  },
  set(title) {
    const target = this.view;
    this.$store.commit('update', { prop: 'name', value: title, target, id });
  }
}

如何破坏initTitel上的绑定?

我尝试过

Object.freeze(this.data.name);
Object.assign({}, this.data.name);

//inside methods
methods: {
  initTitle() {
    return this.title;
  },

此屏幕快照显示,如果我编辑输入字段,则两者都会更新

enter image description here

我找到了解决问题的方法

在我的模板中,我删除了双向绑定 v-model ,并替换为:value

<input type="text" :name="'title'" :value="title" class="textfield --headline" ref="newHeadline">

所以我的vuex没有任何更新。

如果我点击保存按钮,我将从引用中获取值并将其提交给我的商店

const title = this.$refs.newHeadline.value;
this.$store.commit('update', { prop: 'name', value: title, id, target });

如果单击重置按钮,则可以用商店中的值替换标题。

0 个答案:

没有答案