vue学习笔记之作用域插槽实例分析

<child></child>

Vue.component('child', { data: function () { return { list: [1, 2, 3] } }, template: '<div> <ul> <li v-for="item of list">{{item}}</li> </ul> </div>' })

那么,我们要想让父组件每一次调用子组件时再定义显示方式,也就是说,在子组件中定义好了v-for循环了list,具体怎么显示,由父组件告诉我。那么在子组件中定义一个slot插槽,在父组件中添加一个作用域插槽【需要用template包裹】,在其内写显示的样式。

父组件需要得到子组件数据时,就需要template标签。

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>vue中作用域插槽</title> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> </head> <body> <div> <child> <template slot-scope="props"> <li>{{props.item}}</li><!--我想渲染成列表形式--> </template> </child> </div> </body> </html> <script> Vue.component('child', { data: function () { return { list: [1, 2, 3] } }, template: '<div><ul><slot v-for="item of list" :item="item">{{item}}</slot></ul></div>' }) var vm = new Vue({ el: '#app' }) </script>

感兴趣的朋友可以使用在线HTML/CSS/JavaScript代码运行工具测试上述代码运行效果。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/79eb2b6e2369526dc7053f825633c846.html