slot 插槽的作用域用法(摘自vue.js 官網)
阿新 • • 發佈:2018-05-11
定制 body vue.js pan 有效 當我 zh-cn 所有 operator
元素上,然後將所有和其上下文相關的數據傳遞給這個插槽:在這個例子中,這個數據是
解構
有的時候你希望提供的組件帶有一個可從子組件獲取數據的可復用的插槽。例如一個簡單的 <todo-list>
組件的模板可能包含了如下代碼:
<ul>
|
但是在我們應用的某些部分,我們希望每個獨立的待辦項渲染出和 todo.text
不太一樣的東西。這也是作用域插槽的用武之地。
為了讓這個特性成為可能,你需要做的全部事情就是將待辦項內容包裹在一個 <slot>
todo
對象:
<ul>
|
現在當我們使用 <todo-list>
組件的時候,我們可以選擇為待辦項定義一個不一樣的 <template>
作為替代方案,並且可以通過 slot-scope
特性從子組件獲取數據:
<todo-list v-bind:todos="todos">
|
在 2.5.0+,
slot-scope
不再限制在<template>
元素上使用,而可以用在插槽內的任何元素或組件上。
解構 slot-scope
如果一個 JavaScript 表達式在一個函數定義的參數位置有效,那麽這個表達式實際上就可以被 slot-scope
接受。也就是說你可以在支持的環境下 (單文件組件或現代瀏覽器),在這些表達式中使用 ES2015 解構語法。例如:
<todo-list v-bind:todos="todos">
|
這會使作用域插槽變得更幹凈一些。
slot 插槽的作用域用法(摘自vue.js 官網)