7.Vue 操作dom

Vue操作dom:

在Vue中获取dom,需要在dom上使用ref="名称",然后通过:this.$refs.名称 进行操作:

1.在本页面获取dom

2.获取子组件对象

案例:

index.vue:

<template>
  <div>
      <div ref="divInfo"> {{text}}</div>
      <br/><br/>
      下面是子组件内容:
        <sub-vue ref="subInfo"></sub-vue>
  </div>
</template>
<script>
  // 导入子组件:
  import subComponent from './subComponent';
  export default {
      data(){
          return  {
            text: '本页面值'
          }
      },
      // 导入组件
      components: {
          subVue: subComponent
      },
     // created (vue自动回掉)数据完成初始化,但是获取不到dom  
     created(){
        console.log('create:', this.text);
        //
        console.log('create 获取dom:', this.$refs.divInfo);// undefined
      },
      // mounted (vue自动回掉)dom出生完成,可以获取不到dom  操作dom
      mounted(){
          console.log('mounted:', this.text);
          //获取当前页面dom
          console.log('mounted 获取dom:', this.$refs.divInfo.innerHTML = 'mounted中改变');
          //获取子组件中对象
          console.log('mounted 获取子组件dom:', this.$refs.subInfo.$el.innerHTML= 'mounted中改变');
          //操作子组件数据
          //alert(this.$refs.subInfo.text);
      }
  }
</script>
<style>
</style>
subComponent.vue:

<template>
  <div>
        这是子组件:{{text}}
  </div>
</template>
<script>
  export default {
    data(){
      return {
        text: '子组件内容'
      }
    }  
  }
</script>
<style></style>
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 这篇笔记主要包含 Vue 2 不同于 Vue 1 或者特有的内容,还有我对于 Vue 1.0 印象不深的内容。关于...
    云之外阅读 5,072评论 0 29
  • 冬夜北风紧,枯枝黑影寒。 草劲大地坚,花残幽香断。 冷巢卧雏鸟,低窝睡猛犬。 秋叶落曲径,飞沙过山峦。 星辰天外稀...
    轩殇公子阅读 218评论 0 4