前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >vue入门基础详解之组件元素不对应以及ref用法

vue入门基础详解之组件元素不对应以及ref用法

作者头像
十月梦想
发布2018-10-09 15:18:20
7310
发布2018-10-09 15:18:20
举报
文章被收录于专栏:十月梦想十月梦想

在我们使用table时候,table的结构是table>tbody>tr>td,但是我们之间在table下面定义一个包含详情的组件,在table下使用多个会出现,只显示组件内容,而这个table没有将组件包含!

先看一下下面代码

<div id="app">
    <table>
        <row></row>
        <row></row>
    </table>
</div>

row是组件代码,但是由于table下面是不符合w3c规则,不能渲染在里面,就是不能按照你的结构进行渲染,具体效果看下图

发现tr没有包括在table里面,那么这些问题该如何处理呢?我们可以直接使用tr标签,使用is属性等于定义的组件

解决代码

<tr is="row"></tr>
<tr is="row"></tr>

ref用法

<count ref="one" @dj="alert"></count>
<count  ref="two" @dj="alert"></count>
<p>{{total}}</p>

点击组件下面显示点击总数

//定义的组件
Vue.component('count',{
    template:`<p @click="add">{{num}}</p>`,
    data:function () {
        return{
            num:0
        }
    },
    methods:{
        add:function () {
            this.num ++;
            this.$emit('dj',this.num);
        }
    }
})
//在实例中可以调用这个ref,指定的ref名字下存在子组件的data属性
var app=new Vue({
    el:"#app",
    data:{
        msg:"hello",
        total:0
    },
    methods:{
        alert:function (data) {
            //refs是一个对象,引用不同的组件
            this.total=this.$refs.one.num+this.$refs.two.num;
            console.log(data)
        }
    }
})
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-9-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • ref用法
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档