1
私は、リスト内にアンカータグのセットを持つサイドナビゲーションバーを備えた単一のページアプリケーションを持っています。アンカータグ付きVueJS @クリック
selectedPage
変数の値に応じて、ページに表示するコンテンツを表示する必要があります。サイドバーでクリックされたリンクに基づいてselectedPage
の値を変更するだけでなく、
clickイベントに.preventを含める場合でも、以下のコードは変数の値を変更しません。これは私が期待どおりに動作し、私が代わりに
を使用する必要があります別の条件MyPage.html
#Navbar for selecting content
<div id="sidebar-wrapper">
<ul class="sidebar-nav">
<li><a href="#" @click.prevent="selectedPage ='Foo'">Foo</a></li>
<li><a href="#" @click.prevent="selectedPage ='Bar'">Bar</a></li>
</ul>
</div>
#Page content
<div id="page-content-wrapper">
<div class="main-content" id="app" v-cloak>
<div class="container-fluid" v-if="selectedPage === 'Foo'">
<h3 class="page-title">{{selectedPage}}</h3>
</div>
<div class="container-fluid" v-if="selectedPage === 'Bar'">
<h3 class="page-title">{{selectedPage}}</h3>
</div>
</div>
</div>
App.js
new Vue({
el: '#app',
data: {
selectedPage: 'Foo',
}
})
はい、コードは大丈夫だった、正しいです。問題は、アプリのスコープ外にナビゲーションバーがあることでした。それにもかかわらず、あなたの答えに感謝します。 – excedion