2019-02-15 vue组件基础篇5

  • 作用域插槽续
    此例的用意主要是介绍作用域插槽的用法
    1.允许组件自定义应该如何渲染列表每一项。
    2.作用域插槽的使用场景就是既可以复用子组件的slot,又可以使slot内容不一致。
<div id="app">
        // 这里的:books是my-list组件props中的books
        <my-list :books="books">
        // "books"是vue的app实例中data的一个属性
            <template slot="book" scope="props">
                <li>{{ props.bookName }}</li>
            </template>
        </my-list>
</div>
<script>
        Vue.component('my-list', {
            props: ['books'],
            template: ' \
            <ul> \
                <slot name="book" v-for="book in books" :book-name="book.name"></slot> \
            </ul> \
            '
        });
        var app = new Vue({
            el: '#app',
            data: {
                books: [
                    { name: '《Vue.js实战》'},
                    { name: '《JavaScript语音精粹》'},
                    { name: '《JavaScript高级程序设计》'},
                ]
            }
        })
</script>

props回顾

<div id="app">
    <ceshi :message="parentMessage"></ceshi>
</div>
<script>
    Vue.component('ceshi', {
        // 声明在prop中的变量可以引用父元素的数据
        props: ['message'],
        template: '<div>{{ message }}</div>'
    });
    var app = new Vue({
        el: '#app',
        data: {
            parentMessage: 'Hello World'
        }
    })
</script>
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 组件(Component)是Vue.js最核心的功能,也是整个架构设计最精彩的地方,当然也是最难掌握的。...
    六个周阅读 5,657评论 0 32
  • 【2019-3-4更新】Vue 2.6+修改了部分语法,对插槽的使用有了较多的更新。在本文中笔者在相应位置给出了更...
    果汁凉茶丶阅读 10,320评论 2 36
  • vue概述 在官方文档中,有一句话对Vue的定位说的很明确:Vue.js 的核心是一个允许采用简洁的模板语法来声明...
    li4065阅读 7,280评论 0 25
  • 什么是组件? 组件 (Component) 是 Vue.js 最强大的功能之一。组件可以扩展 HTML 元素,封装...
    youins阅读 9,537评论 0 13
  • 走遍千山万水,方知大地之美。 历经悲欢离合,始知世事无常。 纵观风起风过,略悟淡泊从容。
    风过如初阅读 231评论 0 0