zoukankan      html  css  js  c++  java
  • vue操作DOM

    一、使用方法

    在指定元素上,添加ref=“名称A”;
    在获取的地方加入this.$refs.名称A:
    1. 如果ref放在了原生dom元素上,获取的诗句就是原生的dom对象
    2. 如果ref放在组件对象,获取的就是组件对象。

    <template>
       <div>
         请输入内容
         <input type="text" name="" v-model="text">
         显示:{{text | myFilter }}
          <!--子组件-->
         <hello-world ref="sub"></hello-world>
         <!--原生dom对象-->
         <div ref="myDiv">heiehi</div> 
       </div>
    </template>
    <script>
    import HelloWorld from './components/HelloWorld.vue'; //引入子组件helloworld
    export default {
       components:{
           helloWorld:HelloWorld
       },
       //该函数创建了组件,数据已经完成初始化,但是dom还未生成
       create(){
           console.log('created:', this.$refs.myDiv);
       },
       //数据装载到了dom上面,各种数据已经就位,将数据渲染到dom上,dom生成:mounted英文意思:装载,表示数据已经装载到dom上
       mounted(){
          console.log('mounted:', this.$refs.myDiv); //获取原生对象的dom
          console.log(this.$refs.sub.$el);  //获取组件对象的dom
          this.$refs.myDiv.innerHTML="nihao"; //改变原生对象的dom元素值
          this.$refs.sub.$el.innerHTML="我改变了子类"; //如果组件对象中只有一个div元素,这个操作是可以。
          this.$refs.sub.$el.children[0].innerHtml="我改变了子类";//存在了多个div元素,通过这种方式获取,即使组件对象元素中使用ref,父组件没有办法获取到从而指定一个子组件的元素值,只能通过dom操作方式。
       }
    }
    </script>
    勤学似春起之苗,不见其增,日有所长; 辍学如磨刀之石,不见其损,日所有亏!
  • 相关阅读:
    阿诺尔德给5至15岁孩子出的数学题
    上手机器学习,从搞懂这十大经典算法开始
    海报模板
    测度论--长度是怎样炼成的[zz]
    柯西不是你
    搭建Web部署环境
    搭建jdk环境
    Win10远程桌面 出现 身份验证错误,要求的函数不受支持,这可能是由于CredSSP加密Oracle修正 解决方法
    Web开发技术选型之Java与PHP
    从java到web前端再到php,一路走来的小总结
  • 原文地址:https://www.cnblogs.com/qiaozhiming123/p/14853252.html
Copyright © 2011-2022 走看看