第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

Vue.js 中不同路由器視圖之間無法發(fā)生動(dòng)畫

Vue.js 中不同路由器視圖之間無法發(fā)生動(dòng)畫

qq_笑_17 2024-01-18 15:03:32
總結(jié) 我正在尋找一種解決方案來在 Vue 中跨兩個(gè)不同的路由器視圖創(chuàng)建動(dòng)畫。我遇到的問題是,當(dāng)瀏覽器切換到另一個(gè)路由器視圖時(shí),它會(huì)重新渲染頁面。所以當(dāng)瀏覽器重新渲染時(shí)動(dòng)畫就會(huì)消失。動(dòng)畫基本上,該應(yīng)用程序有兩個(gè)不同的頁面:homepage和aboutpage。當(dāng)用戶單擊藍(lán)色菜單按鈕時(shí),綠色導(dǎo)航菜單將從左向右滑動(dòng),直到覆蓋整個(gè)屏幕。該菜單有兩個(gè)鏈接:about和home。如果用戶單擊“關(guān)于”,白色覆蓋層將從左側(cè)移動(dòng)并覆蓋整個(gè)屏幕,然后移動(dòng)到右側(cè)并消失。關(guān)于頁面消失后顯示。這是codepen示例,演示了我想要實(shí)現(xiàn)的動(dòng)畫效果(該演示沒有使用路由器)。 https://codepen.io/wl1664209734/pen/qBamXEL下面是在codepen中的vue模板中重新創(chuàng)建動(dòng)畫的代碼我的代碼的解釋這里是codeSandbox鏈接,我在這個(gè)沙箱中重現(xiàn)了問題,我認(rèn)為這將幫助人們更好地理解我的問題。 https://codesandbox.io/s/vue-page-shift-anime-yp1yf在這個(gè)沙箱中,我使用了 vue 模板。它包括一個(gè)主要組件:App.vue和 5 個(gè)其他組件:Homepage.vue、Aboutpage.vue、Background.vue、Navbar.vue、Navigation.vue。背景包含導(dǎo)航欄和導(dǎo)航以形成應(yīng)用程序的靜態(tài)元素。主頁和關(guān)于頁面都有背景和獨(dú)特的標(biāo)題。Homepage的標(biāo)題是 HOME,Aboutpage的標(biāo)題是 ABOUT。然后,我在 main.js 中配置路由器,并將 router-view 標(biāo)簽放入 App.vue中。我還將路由器鏈接添加到Navigation.vue。我向 router-link 添加了一個(gè)點(diǎn)擊事件(頁面移位),該事件被發(fā)送到Background.vue。因此,當(dāng)用戶單擊鏈接時(shí),它將調(diào)用 Background.vue中的pageShift方法,導(dǎo)致動(dòng)畫發(fā)生。
查看完整描述

1 回答

?
HUH函數(shù)

TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超4個(gè)贊

問題是您通過Background.vue. 不要那樣做。將其包含在App.vue.


當(dāng)路由更改時(shí),<router-view />的內(nèi)容將填充該路由組件的全新實(shí)例(在(或) 中的routes數(shù)組中設(shè)置)。所以,而不是:router/index.ts.js


<template>

  <div id="app">

    <router-view></router-view>

  </div>

</template>

...你App.vue應(yīng)該包含:


<template>

  <div id="app">

    <navigation />

    <router-view />

  </div>

</template>

如果您不想在頁面更改時(shí)重新呈現(xiàn)頁面的任何其他部分(某些側(cè)邊欄,可能是頁腳),也請(qǐng)將它們包含在App.vue. 因此,使用頁腳和側(cè)邊欄,它可能看起來像:


<template>

  <div id="app">

    <header>

      <navigation />

    </header>

    <main>

      <sidebar />

      <router-view />

    </main>

    <footer />

  </div>

</template>

當(dāng)路線更改時(shí),只會(huì)<router-view />重新渲染,并相應(yīng)地執(zhí)行路線上設(shè)置的動(dòng)畫。直接放置的其他布局元素App.vue將不會(huì)重新渲染。顯然,如果您根據(jù)當(dāng)前路由動(dòng)態(tài)更改它們的內(nèi)容,這些部分將會(huì)更新,但它們的基本 DOM 元素將保持不變。


隱含地,您應(yīng)該<navigation />從您的視圖中刪除以及您決定直接放入的任何其他內(nèi)容App.vue。


查看完整回答
反對(duì) 回復(fù) 2024-01-18
  • 1 回答
  • 0 關(guān)注
  • 184 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)