vue图片上传的简单组件

 

<template>
    <div class="rili" id="rili">
        <div class="updel">
            <label class="sizi" for="ip"></label>
            <label class="sizia" for="ip"></label>
            <input type="file"  @change="hus()"  id="ip" /> 
        </div>
    </div>
</template>
<script>
export default {
    name:"rili",
    data(){
        return{

        }
    },  
    mounted(){
        
          if(typeof FileReader=='undifined')        {
              console.log('抱歉,你的浏览器不支持 FileReader');
          }else{
              console.log('FileReader');
          }
    },
    methods:{
        hus(){
            var than = this;
            var file = document.getElementById('ip');     //获取图片上传标签
            var dile = file.files[0];                      //在input 的files获取dom对象中内置的files属性的值是会返回一个自然下标的对象,
            var reader = new FileReader();                  //创建读取文件的对象
            reader.onload = function(e){     
                var url = e.target.result;                  //获得url
                 var img = new Image();                     //创建 img标签
                img.src = url;                              //设置地址
                document.getElementById('rili').appendChild(img);   //添加到你需要的位置
                  than.$emit('adurl',url);        //需要把获的值传给父组件
            }
            
            reader.readAsDataURL(dile);     //调用方法
          

        }

    }   
}
</script>

 

 
posted @ 2020-03-28 13:52  洗白白的佐助  阅读(221)  评论(0编辑  收藏  举报