【问题标题】:When v-for array created by computed option changs, the DOM doesn't change accordingly当计算选项创建的 v-for 数组发生变化时,DOM 不会相应更改
【发布时间】:2016-07-27 06:51:04
【问题描述】:

最近遇到一个问题,是由 vuejs 的计算选项引起的。

首先,我使用 v-for 循环查找由计算选项创建的数组 (soloColImgs)。

我的 HTML

  <div class="show-box" v-for="item in soloColImgs" track-by="$index">
                <img v-bind:src="item.imgUrl"/>
                <a v-bind:href="item.itemUrl" target="_blank"></a>
  </div>

我的 JS

   //...
   computed: {
   soloColImgs :function(){
           //....
    },

   methods: {
      change:function(){
              this.soloColImgs.pop();
           }
      }

其次,我使用pop() 或splice() 等更改数组(soloColImgs)...当我查看控制台时,数组可以相应更改,但是,DOM 确实一点都不改变。如果有人能帮助我解决这个问题,那就太好了。

【问题讨论】:

    标签: vue.js computed-properties


    【解决方案1】:

    计算属性的关键在于它仅由定义它的函数确定。您不能直接更改它,您必须通过对依赖项进行操作来更改它。依赖项是用于计算返回值的属性。

    【讨论】:

    • 谢谢!我刚刚发现了完全一样的东西。我已经通过更改依赖项解决了我的问题,与您的回答中描述的想法相同; )
    猜你喜欢
    • 2017-09-29
    • 2019-10-22
    • 2022-01-13
    • 2014-10-29
    • 2018-04-07
    • 2022-10-15
    • 1970-01-01
    • 1970-01-01
    • 2018-10-16
    相关资源
    最近更新 更多