Vue作用域插槽實現方法及作用詳解
默認插槽和具名插槽的概念比較好理解,這里主要以官方文檔的案例來講解一下作用域插槽。
首先是有一個currentUser的組件:
<!DOCTYPE html><html lang='zh-CN'><head> <meta charset='UTF-8'> <meta name='viewport' content='width=device-width, initial-scale=1.0'> <meta http-equiv='X-UA-Compatible' content='ie=edge'> <title>Document</title></head><body> <div id='app'> <current-user> {{ user.firstName }} </current-user> </div> <script src='http://www.aoyou183.cn/bcjs/vue.min.js'></script> <script> Vue.component(’currentUser’, { template: `<span> <slot>{{ user.lastName }}</slot></span> `, data() {return { user: { firstName: ’w’, lastName: ’ts’ }} } }) new Vue({ el: ’#app’ }) </script></body></html>
然而該頁面無法正常工作,因為只有currentUser可以訪問到user,出錯的地方在這里:
然后,引入一個插槽prop:
<span> <slot :user='user'> {{ user.lastName }} </slot></span>
接著,需要給v-slot帶一個值來定義我們提供的插槽 prop 的名字:
<current-user> <template v-slot='wts'> {{ wts.user.firstName }} </template></current-user>
簡單的講作用域插槽就是讓插槽內容能夠訪問子組件中才有的數據,修改后便可以正常工作了。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。
相關文章:
