li元素的marginTop没有变化,而如果改变的是name,li元素一直变化,
为什么noticeDatad在created里新添加的属性无效呢?
<ul v-for="(item,index) in noticeData">
<li :style="{marginTop: item.marginTop + 'px'}">{{ item.name }}</li>
</ul>
new Vue({
el: '#app',
data: {
noticeData: [{
id: 1,
name: '国庆大促销!全场5折'
}, {
id: 2,
name: '国庆大促销!全场8折'
}, {
id: 3,
name:' 国庆大促销!全场20折'
}],
},
created: function() {
var self = this;
self.noticeData.forEach(function(item){
item.marginTop = 0;
});
self.$nextTick(function(){
var i = 0;
setInterval(function(){
i += 2;
self.noticeData[0].marginTop = -i;
//self.noticeData[0].name= -i;
},1000);
});
}
})
是因为这段代码的问题
换成这样既可
具体可以看链接