当前位置:首页 > VUE

vue实现添加div

2026-01-14 05:26:08VUE

动态添加 div 的方法

模板中使用 v-for 通过数据驱动视图,在模板中使用 v-for 循环渲染多个 div:

<template>
  <div v-for="(item, index) in divList" :key="index">
    {{ item.content }}
  </div>
  <button @click="addDiv">添加Div</button>
</template>

<script>
export default {
  data() {
    return {
      divList: []
    }
  },
  methods: {
    addDiv() {
      this.divList.push({ content: `新Div ${this.divList.length + 1}` })
    }
  }
}
</script>

使用 ref 操作 DOM 通过 Vue 的 ref 直接操作 DOM 元素:

<template>
  <div ref="container"></div>
  <button @click="appendDiv">添加Div</button>
</template>

<script>
export default {
  methods: {
    appendDiv() {
      const newDiv = document.createElement('div')
      newDiv.textContent = '动态添加的Div'
      this.$refs.container.appendChild(newDiv)
    }
  }
}

使用渲染函数 (render function) 通过 JavaScript 的渲染函数动态创建元素:

<script>
export default {
  data() {
    return {
      divCount: 0
    }
  },
  render(h) {
    const children = []
    for (let i = 0; i < this.divCount; i++) {
      children.push(h('div', `Div ${i + 1}`))
    }
    return h('div', [
      ...children,
      h('button', {
        on: {
          click: () => this.divCount++
        }
      }, '添加Div')
    ])
  }
}
</script>

注意事项

  • 使用 v-for 时需为每个项添加唯一的 key
  • 直接操作 DOM 可能违反 Vue 的数据驱动原则
  • 动态添加的元素同样受 Vue 响应式系统管理
  • 复杂场景建议使用组件化方式实现

以上方法可根据具体需求选择,数据量较大时推荐使用 v-for 方式,需要精细控制 DOM 时可采用 ref 或渲染函数。

vue实现添加div

标签: vuediv
分享给朋友:

相关文章

vue实现钟表

vue实现钟表

使用 Vue 实现动态钟表 以下是一个基于 Vue 3 的动态钟表实现方案,包含时分秒指针和数字时间显示。 模板部分 <template> <div class="clock…

vue实现管道

vue实现管道

Vue 中实现管道(Pipe)功能 在 Vue 中可以通过过滤器(Filters)或计算属性(Computed Properties)实现类似管道的功能,将数据经过多个处理步骤后输出。 使用过滤器(…

vue实现新闻

vue实现新闻

Vue 实现新闻功能 使用 Vue 实现新闻功能通常涉及新闻列表展示、新闻详情页、分类筛选等模块。以下是实现的基本思路和代码示例。 新闻列表展示 通过 Vue 组件展示新闻列表,通常使用 v-fo…

vue实现导出

vue实现导出

Vue 实现导出功能的方法 在 Vue 项目中实现导出功能通常涉及将数据导出为 Excel、CSV 或其他格式。以下是几种常见的实现方式: 使用 xlsx 库导出 Excel 安装 xlsx 库:…

vue实现slidetoggle

vue实现slidetoggle

Vue 实现 SlideToggle 效果 SlideToggle 是一种常见的交互效果,元素以滑动方式展开或收起。以下是几种实现方法: 使用 CSS Transition 和 v-show 通过…

vue实现flbook

vue实现flbook

Vue 实现类似 Flbook 的翻页效果 要实现类似 Flbook 的翻页效果,可以使用 Vue 结合 CSS 动画和 JavaScript 事件处理。以下是实现方法: 安装依赖 需要安装 vu…