is属性
<div id='root'>
  <table>
    <tbody>
      <row></row>
      <row></row>
      <row></row>
    </tbody>
  </table>
</div> <script>
Vue.component('row',{
  template:'<tr><td>th<row></row>is is a row</td></tr>'
})
var vm = new Vue({
  el:'#root'
})
</script>
平时我们把tr作为子组件,这个时候在渲染的时候出现了问题,tbody里面必须放tr标签,现在变成row,解析失败,这个时候要怎么解呢?
这个时候可以使用vue的is属性,必须放tr,那就tr,但可以将tr等同于某个组件
<tbody>
  <tr is='row'></tr>
  <tr is='row'></tr>
  <tr is='row'></tr>
</tbody>
这样就可以了,select-option,ul-li也是同样的解决方法
子组件定义的问题
Vue.component('row',{
data:{
content:'this is row'
},
template:'<tr><td>{{content}}</td></tr>'
})
在vue中子组件这样调用可不可以,其实是不可以的,会报错,必须是function,因为子组件不像父组件一样只被调用一次,会被调用多次,data数据是不同的,不允许共享
Vue.component('row',{
  data:function(){
    return{
      content:'this is row'
    }
  },
  template:'<tr><td>{{content}}</td></tr>'
})
所以最终要这样写
用ref操作dom
在vue里面我们不推荐操作dom,但在有些特别复杂的情况,我们还真就得操作dom
eg:获取dom内容
<div id='root'>
  <div
    ref='hello'
    @click='handleClick'
  >
    hello world
  </div>
</div> <script>
var vm = new Vue({
  el:'#root',
  methods:{
    handleClick:function(){
      console.log(this.$refs.hello.innerHTML)
    }
  }
})
</script>
eg:做一个计数器的功能
<div id='root'>
  <counter ref='one' @change='handleChange'></counter>
  <counter ref='two' @change='handleChange'></counter>
  <div>{{total}}</div>
</div> <script>
Vue.component('counter',{
  data:function(){
    return {
      number:0
    }
  },
  template:'<div @click="handleClick">{{number}}</div>',
  methods:{
    handleClick:function(){
      this.number ++;
      this.$emit('change',this.number)
    }
  }
})
var vm = new Vue({
  el:'#root',
  data:{
    total:0
  },
  methods:{
    handleChange:function(){
      this.total = this.$refs.one.number + this.$refs.two.number;
    }
  }
})
</script>

vuejs使用组件的细节点的更多相关文章

  1. 关于Vue父子组件传值(复杂数据类型的值)的细节点

    vue 父子组件传值是很常见的,多数情况下都是父传递给子的值是基础数据类型,如string,number,boolean, 当父组件值被修改时,子组件能够实时的作出改变. 如果父子传值的类型是复杂数据 ...

  2. vuejs动态组件给子组件传递数据

    vuejs动态组件给子组件传递数据 通过子组件定义时候的props可以支持父组件给子组件传递数据,这些定义的props在子组件的标签中使用绑定属性即可,但是如果使用的是<component> ...

  3. 关于“创业者与VC见面的10个不成文细节点”

    著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处.作者:Will Wang链接:http://www.zhihu.com/question/19641135/answer/50974 ...

  4. 【JAVA】高并发优化细节点

    高并发优化细节点: 微服务化 如何发现系统瓶颈?   如何高效利用有限内存: 使用基本类型 使用数组,不用集合 自定义map与数据结构   Integer—>int, Set<Intege ...

  5. vue 组件使用中的细节点

    1.is属性 有些 HTML 元素,诸如 <ul>.<ol>.<table> 和 <select>,对于哪些元素可以出现在其内部是有严格限制的.而有些元 ...

  6. VueJs(9)---组件(父子通讯)

    组件(父子通讯) 一.概括 在一个组件内定义另一个组件,称之为父子组件. 但是要注意的是:1.子组件只能在父组件内部使用(写在父组件tempalte中); 2.默认情况下,子组件无法访问父组件上的数据 ...

  7. 【Spark 深入学习 -09】Spark生态组件及Master节点HA

    ----本节内容------- 1.Spark背景介绍 2.Spark是什么 3.Spark有什么 4.Spark部署 4.1.Spark部署的2方面 4.2.Spark编译 4.3.Spark St ...

  8. CentOS7安装OpenStack(Rocky版)-02.安装Keyston认证服务组件(控制节点)

    本文分享openstack的认证服务组件keystone --------------- 完美的分割线 ---------------- 2.0.keystone认证服务 1)用户与认证:用户权限与用 ...

  9. vuejs递归组件

    vuejs学习--递归组件   前言 学习vue有一段时间了,最近使用vue做了一套后台管理系统,其中使用最多就是递归组件,也因为自己对官方文档的不熟悉使得自己踩了不少坑,今天写出来和大家一起分享. ...

随机推荐

  1. grep常用选项记录

    grep: 一.常用选项:    -i 不区分大小写针对单个字符    -v 显示不包括查找字符的所有行    -o 只打印出匹配到的字符    -c 显示有多少行被匹配到    -e 可以使用多个表 ...

  2. oracle数据库代码块

    --申明变量.游标 declare a ):'; --逻辑 begin INSERT into TEMP_DSF.TEST VALUES (a); end; tips:mysql不支持匿名块.仅在存储 ...

  3. Web 2.0 浏览器端可靠性测试第2部分(如何发现和分析 Web 2.0 浏览器端的内存泄漏)

    介绍浏览器端的可靠性测试 在上一编文章中我们介绍了浏览器端可靠性测试的概念.测试方法.以及常用的测试和分析工具.我们知道,浏览器端可靠性测试,就是以浏览器为测试平台,通过模拟用户在真实场景下的页面操作 ...

  4. Transition FrameWork

    Android Transition Framework可以实现三种效果: 不同Activity之间切换时,Activityc的内容(contentView)转场动画 不同Activity之间切换时, ...

  5. 2019.03.22 读书笔记 Linq中的IEnumerable与IQueryable

    Linq主要分为 Linq to object .Linq to XML .Linq to sql(现在都用EF了). 针对object和sql,微软分别设计了两套接口IEnumerable.IQue ...

  6. leetcode 627. Swap Salary 数据库带判断的更新操作

    https://leetcode.com/problems/swap-salary/description/ 用  set keyWord = Case depentedWord when haha ...

  7. object的equals方法与“==”的使用

    官方文档是这么说的:

  8. Horizon

    python manage.py compress python manage.py collectstatic {% extends "horizon/common/_modal_form ...

  9. DEDE列表页和内容页调用顶级栏目ID的方法

    dede模板中添加顶级栏目id的方法总结,使用dede顶级栏目id可以实现很多功能.比如,在每个列表页调用不同的栏目图片(同一顶级栏目调用相同的图片),如果我们做N个栏目就意味着要做N个列表页模板,显 ...

  10. 用Java 8 Lambda表达式实现设计模式:命令模式

    在这篇博客里,我将说明如何在使用 Java 8 Lambda表达式 的函数式编程方式 时实现 命令 设计模式 .命令模式的目标是将请求封装成一个对象,从对客户端的不同类型请求,例如队列或日志请求参数化 ...