首页 > web前端 > js教程 > Vue.js的组件之间通信- 动态属性传递

Vue.js的组件之间通信- 动态属性传递

php中世界最好的语言
发布: 2018-03-13 14:17:30
原创
2230 人浏览过

这次给大家带来Vue.js的组件之间通信- 动态属性传递,Vue.js组件之间通信- 动态属性传递的注意事项有哪些,下面就是实战案例,一起来看一下。

表单里面的内容动态的显示在子组件中

<template>
  <div id="myapp">
    <input type="text" v-model="myVal">
    <com-a :my-value="myVal"></com-a>
  </div></template><script>
  import ComA from './components/a.vue'
  export default {    components: {
      ComA
    },
    data () {      return {        myVal: ''
      }
    }
  }</script>
登录后复制

子组件a.vue

<template>
  <div class="hello">
    {{hello}}
    {{ myValue }}  </div></template><script>
  export default {//    声明number属性//    未指定类型//    props: ['number'],//    指定类型
    props: {      'my-value': [Number, String]
    },
    data () {      return {        hello: 'I am componnet a'
      }
    }
  }</script>
登录后复制

1.gif

组件之间的通信 - 动态属性传递

插槽 slot
向子组件传递一个模板

<com-a :my-value="myVal">
      <p>我是一个插槽</p>
      <span>123456</span></com-a>
登录后复制

com-a组件中

<template>
  <div class="hello">
    {{hello}}
    {{ myValue }}
  //给插槽设置默认值    <slot>no slot</slot>
  </div></template>
登录后复制

2.png

如果传递的插槽里面没有内容,为空

<com-a :my-value="myVal"></com-a>
登录后复制

给插槽设置默认值

<slot>no slot</slot>
登录后复制

则显示

3.png

具名Slot

<template>  <div id="myapp">
    <!--具名插槽-->
    <com-a :my-value="myVal">
      <p slot="header">xxxx header</p>
      <p slot="footer">yyyy footer</p>
    </com-a>
  </div></template>
登录后复制

com-a组件中

登录后复制

执行结果:

4.png

相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

推荐阅读:

Vue.js的事件绑定-表单事件绑定

Vue.js的vue标签属性和条件渲染

以上是Vue.js的组件之间通信- 动态属性传递的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板