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. java中double的四舍五入 BigDecimal

    转载:https://blog.csdn.net/xiaobing_122613/article/details/71077225 1. 功能 将程序中的double值精确到小数点后两位.可以四舍五入 ...

  2. spring espect XX but YY

    注入和查找问题 HSF Consumer bean, 注入的是beanName='实际接口名', type='HSFSpringConsumerBean',  造成Autowire时查询出来的类型不匹 ...

  3. 内置函数_eval

    eval功能:将字符串str当成有效的表达式来求值并返回计算结果. 语法: eval(source[, globals[, locals]]) -> value 参数说明: expression ...

  4. 修改jupyter notebook的默认浏览器

    1.打开命令行 2.输入jupyter notebook --generate-config 3.显示出jupyter_notebook_config.py 文件所在的目录.按文件目录找到这个文件. ...

  5. docker 安装的centos7.4中无法识别文件中的中文

    在容器内执行命令: 命令: yum -y install kde-l10n-Chinese && yum -y reinstall glibc-common 命令: localedef ...

  6. HBuilder的常用快捷键

    Ctrl + d 删除整行内容 Ctrl + Shift +R 复制当前行到下一行 Ctrl + Shift +D 重新编辑 Ctrl + 方向键 当前行整行内容上移或下移 Alt + ↓ 跳转到下一 ...

  7. iTween Scale缩放

    void Start () { //键值对儿的形式保存iTween所用到的参数 Hashtable args = new Hashtable(); //放大的倍数 args.Add(, , )); / ...

  8. Linux下wget下载软件小技巧以及安装jdk、tomcat与ftp服务器

    一.ftp的安装 装个ftp搞了一下午,感觉以前没那么麻烦的呀,结果到晚上才发现是实验室网的问题,换连手机的热点马上可以了,真是尴尬,把基本安装步骤记录一下: 1.检查安装vsftpd软件 使用如下命 ...

  9. HDU 5407——CRB and Candies——————【逆元+是素数次方的数+公式】

    CRB and Candies Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)T ...

  10. MyEclipse项目中的文件点击右键Team选项中没有提交到SVN中的选项是怎么回事

    MyEclipse项目中的文件点击右键Team选项中没有提交到SVN中的选项是怎么回事 其实你已经可以百度到很多方法: 例如下面博客提供的 http://www.xuebuyuan.com/95285 ...