|
@@ -10,8 +10,8 @@
|
|
|
</div>
|
|
</div>
|
|
|
</template>
|
|
</template>
|
|
|
<script lang="ts">
|
|
<script lang="ts">
|
|
|
-import { defineComponent, reactive } from 'vue';
|
|
|
|
|
-import { onBeforeRouteUpdate } from 'vue-router';
|
|
|
|
|
|
|
+import { defineComponent, onMounted, reactive } from 'vue';
|
|
|
|
|
+import { onBeforeRouteUpdate, RouteLocationNormalized, useRoute, useRouter } from 'vue-router';
|
|
|
import Header from '@/sites/doc/components/Header.vue';
|
|
import Header from '@/sites/doc/components/Header.vue';
|
|
|
import Nav from '@/sites/doc/components/Nav.vue';
|
|
import Nav from '@/sites/doc/components/Nav.vue';
|
|
|
import Footer from '@/sites/doc/components/Footer.vue';
|
|
import Footer from '@/sites/doc/components/Footer.vue';
|
|
@@ -30,10 +30,20 @@ export default defineComponent({
|
|
|
demoUrl: 'demo.html'
|
|
demoUrl: 'demo.html'
|
|
|
});
|
|
});
|
|
|
|
|
|
|
|
- onBeforeRouteUpdate(to => {
|
|
|
|
|
|
|
+ const watchDemoUrl = (router: RouteLocationNormalized) => {
|
|
|
const { origin, pathname } = window.location;
|
|
const { origin, pathname } = window.location;
|
|
|
- currentRoute.value = to.name as string;
|
|
|
|
|
- data.demoUrl = `${origin}${pathname.replace('index.html', '')}demo.html#${to.path}`;
|
|
|
|
|
|
|
+ currentRoute.value = router.name as string;
|
|
|
|
|
+ data.demoUrl = `${origin}${pathname.replace('index.html', '')}demo.html#${router.path}`;
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
|
|
+ onMounted(() => {
|
|
|
|
|
+ const router = useRouter();
|
|
|
|
|
+ const route = useRoute();
|
|
|
|
|
+ watchDemoUrl(route);
|
|
|
|
|
+ });
|
|
|
|
|
+
|
|
|
|
|
+ onBeforeRouteUpdate(to => {
|
|
|
|
|
+ watchDemoUrl(to);
|
|
|
});
|
|
});
|
|
|
|
|
|
|
|
return data;
|
|
return data;
|