Mam składnik menu, który, uproszczony, przyjmuje rekwizyt z tablicy opcji i renderuje pozycję w menu dla każdego. Chciałem móc dostosować znaczniki znajdujące się w każdym z elementów menu w zależności od przypadku użycia, więc użyłem elementu zastępczego wewnątrz elementu menu.Dodawanie <slot> w obszarze powtarzalnych treści
Możesz zobaczyć przykład tego w tym fiddle.
const Menu = {
template: `
<ul>
<li v-for="item in options" :class="item.colour">
<slot></slot>
<span class="label">{{item.name}}</span>
</li>
</ul>
`,
data:() => {
return {
options: [
{ name: 'one', colour: 'red' },
{ name: 'two', colour: 'green' },
{ name: 'three', colour: 'blue' },
{ name: 'four', colour: 'yellow' }
]
};
}
};
const app = new Vue({
components: {
custommenu: Menu,
},
template: `<custommenu><span class="colour"></span></custommenu>`
});
app.$mount('#app');
To działało dobrze na V1 Vue.JS ale po uaktualnieniu do v2 widzę błąd „Duplikat obecność gniazda«default»znajdują się w tym samym uczynić drzewa. - to będzie prawdopodobnie powodować błędy renderowania”
Czy jest to coś, co jest możliwe w wersji 2 lub czy istnieje alternatywny sposób osiągnięcia tego samego?
Brilliant, dzięki - to działa dobrze. Powinienem był znaleźć scoped sloty w dokumentach! – Stuart
@ craig_h, Wydaje się, że opanowałeś vue.js. Potrzebuję twojej pomocy. Spójrz na to: http://stackoverflow.com/questions/41904428/how-to-update-data-on-a-page-without-refreshing-on-the-vue-js –