为什么计算机安装人员不更新视图?

时间:2018-02-05 14:21:08

标签: vue.js vue-component

我在视图中有两个按钮。您可以选择列表布局或布局。州必须保存在本地存储或cookie中。

// Pug Syntax
#app
  span.button(
    :class="{'active': layout === 'list'}",
    @click="change('liste')"
    ) List

  span.button(
    :class="{'active': layout === 'group'}",
    @click="change('group')"
    ) Group

这是vue.js代码:

new Vue({
  el: '#app',
  computed: {
    layout: {
      get() {
        // Get from cookie or localstorage
        return // Returned from cookie
      },
      set(newValue) {
        // Save to cookie or localstorage
        return newValue
      }
    }
  },
  methods: {
    change(value)
    {
      this.layout = value
    }
  }
});

如果我点击按钮,则Cookie会显示新数据,但按钮不会显示 .active 类。我使用计算属性吗?

1 个答案:

答案 0 :(得分:2)

计算机仅在更新无功值时更新。 Cookie值不是被动的,因此get不知道何时有新值。您需要为data使用真实的layout项,并通过将数据复制到cookie或localStorage或其他任何内容来维护它。