码迷,mamicode.com
首页 > 其他好文 > 详细

props 和 solt 用法

时间:2018-09-07 14:21:54      阅读:136      评论:0      收藏:0      [点我收藏+]

标签:highlight   nbsp   exp   require   console   type   red   tar   from   

props 

  子组件内接收来自父组件传递过来的数据集合

  两种写法:

    1、 props : [‘todos‘,‘item‘]

    2、 

props:{  ‘todos‘ : String , ‘item‘: Array }
//或者
props :{
        ‘todos‘:{
           type: Number,       //数据类型
           default: 0,            //默认值
           required: true,
           validator: function (value) {     //自定义校验
                return value >= 0
           }
}
               

 

solt   插槽  

  子组件

  

<template>
    
    <ul>
        <li v-for="(item, index) in todos" :key="index">
            <slot :todo=‘item‘>
                这是默认组件的todo{{item}}  
            </slot>
        </li>
    </ul>
</template>
<script>
export default {
  props: {
      todos: Array
    },
  data () {
    return {}
  },
  mounted() {
      console.log(this.todos);
  },
}
</script>
<style lang="scss" scoped>

</style>

  

父组件

<template>
  <div class="home">
    <img alt="Vue logo" src="@/assets/logo.png">
    
    <TodoList :todos = ‘listArray‘>
          <span slot-scope="{todo}">这是不一样的todo{{todo}}</span>
    </TodoList>

    <TodoList :todos = ‘listArray‘></TodoList>
    <TodoList :todos = ‘listArray‘>
        {{name}}
    </TodoList>
    
  </div>
</template>

<script>
// @ is an alias to /src
import HelloWorld from ‘@/components/HelloWorld.vue‘
import TodoList from ‘@/components/list.vue‘

export default {
  data () {
    return {
      name:‘这是作用域测试‘,
      listArray: [
        { id: 1, value: ‘this is ad1‘ },
        { id: 2, value: ‘this is ad2‘ }
      ]
    }
  },
  components: {
    HelloWorld,
    TodoList
  }
}
</script>

  

  结果:

技术分享图片

 

  

 

props 和 solt 用法

标签:highlight   nbsp   exp   require   console   type   red   tar   from   

原文地址:https://www.cnblogs.com/cuikaitong/p/9603621.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!