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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

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

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

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

1 回答

?
HUH函數(shù)

TA貢獻1836條經(jīng)驗 獲得超4個贊

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


當(dāng)路由更改時,<router-view />的內(nèi)容將填充該路由組件的全新實例(在(或) 中的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>

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


<template>

  <div id="app">

    <header>

      <navigation />

    </header>

    <main>

      <sidebar />

      <router-view />

    </main>

    <footer />

  </div>

</template>

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


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


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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