vue v-for

<div id="app">
      <ul>
          <li v-for="item in items">
            {{item}}
          </li>
      </ul>
</div>
var app = new Vue({
          el: '#app',
          data:{
            items:[21,24,89,19,67,100,90]
          },
          computed:{
          items:function(){
              return [1,2,3,4,5,6,7]
          }
          }
      })

我看视频上讲的可以在computed里面修改data里面的数据,为什么这样循环出来的数据不是[1,2,3..]这个数组的数据呢

阅读 2.5k
5 个回答

你这样应该会报错,如果你要使用computed属性选项的话,只需要在data里只定义不赋值就行了。

computed:{
   this.items=[1,2,3,4,5,6,7]
    }

1.computed跟data里的变量重复声明会报错
2.要修改data里的数据,需要用this访问
computed:{

            list:function(){
                this.items = [1,2,3,4,5,6,7];
            }
        }

window.onload = function(){

            var vm = new Vue({
              el:'#app',
              data: { 
                  item: [20,30,50,80,100,22,33,25]
              },
              computed: {
                // 读取和设置
                aPlus: {
                  get: function () {
                    return this.item = [1,2,3,4,5,6]
                  }
                }
              }
            })
            vm.aPlus
        }

解释请看这里https://cn.vuejs.org/v2/api/#...

这是两件不同的事情:①定义一个计算属性修改data里面的数据;②定义一个计算属性返回数据。计算属性,data,以及props的名字不要取的一样。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题