vue v-if问题 js动态创建div setAttribute添加v-if 没有反应

问题描述

vue v-if问题,js动态创建div,setAttribute添加v-if,没有反应

问题出现的环境背景及自己尝试过哪些方法

通过js,动态创建div,然后给div绑定v-if,添加判断条件,在html能看到true和false,但是没有显示隐藏

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)

 var newDiv =document.createElement("div")
 newDiv.setAttribute("v-if",pagedata[i]._Id===this.showPageBox)

图片描述

你期待的结果是什么?实际看到的错误信息又是什么?

有方法控制吗

阅读 5.3k
4 个回答

内容按普通 HTML 插入 - 不会作为 Vue 模板进行编译
可以重新考虑是否通过使用组件来替代。

为什么要用js动态创建dom呢?你通过操作数据,或者数组里面的元素,再循环渲染出来就可以了。感觉不是走mvvm的思想去开发!

js动态生成的肯定不会有效果啊,应该在template里面写

vue的核心就是MVVM,数据驱动DOM,楼主这种做法不是最佳实践。至于为什么不生效,一楼已经说出来了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题