You can make use of scoped slots instead of slots
Your comp
component receives a prop links
which is an array of links(since static initialized as a custom option). Iterate over the links
and pass link
as data to the slot just like passing props to a component
Vue.component("comp", {
template: `
-
`,
props: ["links"]
})
new Vue({
el: "#app",
// custom static option , accessed using vm.$options.links
links: [
{text: "link1"},
{text: "link2"},
{text: "lin3"}
]
})
In the parent where the comp
component is used make use of a element with a special attribute
slot-scope
, indicating that it is a template for a scoped slot.
The value of slot-scope
will be used as the name of a temporary variable that holds the props object passed from the child:
Here is the working fiddle