很简单的一段代码:
<body>
<ul id="app">
<li v-for="item in list" class="alert alert-danger">{{item}}</li>
</ul>
<script>
new Vue({
el:'#app',
data:{
list:[1,2,3]
},
mounted:function () {
var vm = this;
setTimeout(function () {
vm.list[0] = 10;
},1000);
}
})
</script>
</body>
想实现一个效果:数组的某一项变化时,这个li的样式会有一个颜色由红到白的渐变,很短暂,0.5s就渐渐消失的一个红色背景。
类似这个https://poloniex.com/exchange... 右侧导航的列表
查阅了vue2的过度实现方案,没有对应的案例,我没搞出来
vue 过度效果:https://cn.vuejs.org/v2/guide...
同watch数组,比对新旧数组哪几个项发生了变化,记录索引进行相关操作。
还有你这样修改数组项无法触发响应式更新。
mounted:function () {
var vm = this;
var newList = vm.list.concat();
setTimeout(function () {
newList[0] = 233;
vm.list = newList;
},1000);
},
watch:{
list(newArr, oldArr){
var result = oldArr.reduce((iter, v, i) => {
if(v !== newArr[i]) iter.push(i);
return iter;
}, [])
console.log(result)
}
}