0
コンポーネントに動的にレンダリングする2つのテンプレートがあります。関連するナビゲーション項目をクリックすると、が関連するコンポーネントをレンダリングするはずですが、今のところ私にとってはうまくいかないようです。動的コンポーネントは対応するテンプレートをレンダリングしません
<div id="app">
<ul>
<li v-on:click="currentView='fruits-module'"><a href="#">Fruits</a></li>
<li v-on:click="currentView='vegetables-module'"><a href="#">Vegetables</a></li>
</ul>
<template id="fruits-template" class="module">
<ul>
<li v-for="fruit in fruits">{{ fruit }}</li>
</ul>
</template>
<template id="vegetables-template" class="module">
<ul>
<li v-for="vegetable in vegetables">{{ vegetable }}</li>
</ul>
</template>
<component v-bind:is="currentView"></component>
</div>
ここにはそのスクリプト部分があります。面白いことに、コンソールでapp.currentView
を実行すると、undefined
が返されます。
Vue.component('fruits-module', {
template: '#fruits-template',
data(){
return{
fruits:['apple', 'orange', 'pear']
}
}
})
Vue.component('vegetables-module', {
template: '#vegetables-template',
data(){
return{
vegetables:['carrots', 'spinach', 'broccoli']
}
}
})
new Vue({
el:'#app',
data(){
return {
currentView: 'fruits-module'
}
}
})
あなたの提供されたcodepenの例はうまく動作しており、コンソールにエラーは表示されません! –
はい、私はすでにそれに答えました:)私の答えは以下を参照 – Modermo
質問はなぜソリューションリンクが含まれているのだろうか? –