vue动态渲染dom,没能解决


页面上选择框值发生变化的时候,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如何做?


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM