页面上选择框值发生变化的时候,vue中data中某数组值发生改变,通过created获取的数据打印确实可以随着选择值的改变而改变,但是dom渲染只是第一次渲染的界面,网上查询的方法都没有解决问题,Vue.set(),或者数组遍历之后再push()都没有解决问题。
1.data的数据可以动态改变,渲染没有变,如何解决。
2.vue挂载元素的事件写入vue中,独立写原生js不会生效。
不得不选择用原生js或者jq来实现,append动态添加的节点,但是要注意:
1.动态节点,一一添加,不能标签嵌套标签
2.img节点的src属性不能直接再append中写入属性,需要单独设置,否则报错找不到图片
3.动态节点绑定事件。
代码实例:
var dataarr = arr;
$(".interactivemainwrap").html("");
for(var i = 0; i < dataarr.length; i++){
$('.interactivemainwrap').append("<li class='no'></li>");
$('.interactivemainwrap li').eq(i).append("<img/>");
$('.interactivemainwrap li').eq(i).find("img").attr("src",dataarr[i].avator);
$('.interactivemainwrap li').eq(i).append("<p>"+dataarr[i].name+"</p>");
$('.interactivemainwrap li').eq(i).append("<small class='addbtn'></small>");
}
arr是动态改变的数组,长度,值都在改变。vue如何做?