Vue学习:模板使用1

2 篇文章 0 订阅
base-input.vue
<template>
    <div id = 'base-input'>
        <input v-on='deallisteners' v-bind:incontent='incon' v-on:input="$emit('input',$event.target.value)">
    </div>
</template>
<script>
    export default{
        name:'base-input',
        data(){
            return{
            }
        },
        /* 在自定义组件中,想要使用v-model实现数据的双向绑定,需要在组件定义的时候使用到model */
        model:{
            prop:"incon",
            event:'input'
        },
        /* 仍然需要在props中定义变量 */
        props:{
            incon:String
        },
        /* 当组件根元素不具备一些DOM事件的时候,想要让其内部元素具有一定的事件,无法通过.native来实现,可以使用$listeners获取父元素传递的事件 */
        computed: {
            deallisteners(){
                var vm=this
                return Object.assign(
                    {},
                    this.listeners,
                    {
                        focus:function(event){
                            vm.$emit('focus','focus')
                        }
                    }
                )
            }
        },
    }
</script>
dayone.vue
<template>
    <div id='dayone'>
        <p>2019.12.19 Vue学习笔记</p>
        <base-input v-model='incontent' v-on:focus='show_input'></base-input>
        <p>聚焦的提醒:{{input_info}},通过$listeners实现</p>
        <p>输入的内容:{{incontent}},通过v-model实现</p>
    </div>
</template>
<script>
    import baseinput from './parts/base-input'
    export default{
        name: 'dayone',
        data(){
            return {
                lovingVue:false,
                msg:'no',
                
                incontent:'',
                input_info:'',
            }
        },
        methods:{
          show: function(info){
              this.msg=info
          } ,
          show_input:function(m){
              this.input_info=m
          }
        },
        components:{
           'base-input':baseinput
        }
    }
</script>
<style>
</style>

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值