2 q1433450689 q1433450689 于 2017.09.07 10:22 提问

Vue用v-for循环渲染数组数据,数组数据更新时,视图没有更新 10C

Vue用v-for循环渲染数组数据,数组数据更新时,视图没有更新,filter,和变异方法都试过了,好像都不行,看网上有说是重复实例化vue的原因,但是不太明白。
图片说明
html是这样的
图片说明
要实现的是,点击触发but()方法,然后ajax获取数据,用v-for循环渲染出来。现在的问题是,第一次拿到数据可以正常渲染,当第二次触发方法时,ajax重新获取到新数据,vue中的data也已经改变了,但是页面上没改变。没弄懂怎么回事。

2个回答

sunny_desmond
sunny_desmond   Rxr 2017.09.07 13:20

ajax 里面的shipClick:function(x){ ......} 试试呢,不要用e ,F12 console 也顺便贴下呢。。

q1433450689
q1433450689 不是这里的原因,我改了一下,去掉了没用的代码
10 个月之前 回复
zjscy666
zjscy666   2017.09.07 20:15

双向数据绑定,不存在这个问题,你看下是不是this.data没有清空

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
VUE(v-for 数组、对象更新检测)
v-for 数组、对象的更新检测
vue v-for数组倒序
Index is {{$index}} Content is {{i}} var vm = new Vue({ el: '#app', data: { items: { a: "1",
Vue 指令 - v-for 渲染数组对象
<template> <div> <ul> <li v-for="item in list"> {{item.name}} --- {{item.price}} </li> </ul> </div> </templat
vue数组中数据变化但是视图没有更新解决方案
原文链接:http://www.cnblogs.com/sufubo/p/6906261.html#undefined 场景 在我使用vuex的过程中,使用computed获取数据。获取到的数据格式是这个样子的 carts: [{}, {}, {}] 但是我在这个页面中需要给这个数据额外添加一个数据字段 carts[index].editState = false; 遇
Vue 数组视图不能更新的解决方案
this.$set(this.titleSortSet, index, { "sort-desc": true }); this.titleSortSet.$set(index, { "sort-desc": true }); 做一个记录,发现,仅仅是this.$set还不行,还要数组设置$set,不过这样太hack了
vue渲染多层数据用v-for
new Vue({ el: '#someElement', data: { category: [ { name: 'cate0', items: [ { value: 'cate0 ite
vue 循环对象,数据更新,但是视图未刷新
今天需求碰到一个分组列表,按照以往的习惯,直接就想到了循环遍历对象,然后对象每一个key就是组标题,然后对应value为数组,再循环到组内渲染。 设想很完美,实现起来也不是很难。但是后来我把数据库数据放多之后,准备测试分页加载更多是否成功的时候,发现出现问题了,视图竟然没有刷新,可是数据明明刷新了呀。然后立马查看官方文档,找到了原因跟解决方案。 文档地址 文档中明确说了:Vue 不能检测对象属
vue中v-for的使用,离不开的数组
先引入一个例子: HTML {{ parentMessage }} - {{ index }} - {{ item.message }} JS var example2 = new Vue({ el: '#example-2', data: { parentMessage: 'Parent', items: [ { message: 'Foo' }, { mes
VUE指令-列表渲染v-for
v-for 指令根据一组数组的选项列表进行渲染。v-for 指令需要使用 itemin items 形式的特殊语法,items 是源数据数组并且 item 是数组元素迭代的别名。 v-for="item in items" 格式v-for="item in items" -->               v0.v-for指令示例(默认方式)
Vue实践--V-for指令
当需要将一个数组或者对象循环遍历显示的时候可以使用v-for指令,其值类似于item in items;其中items是数组或者对象,item自然就是其中的一项,in 也可使用 of。 当遍历数组的时候有一个可选项index,是当前项的索引 类似与 v-for = (item,[index]) in items; {{index}}.{{book.bookName}}