<!doctype html>
<html>
<head>
<meta charset="UTF-8" />
<!-- 引入 vue 入口文件 -->
<script type="module" src="./main.js"></script>
</head>
<body>
<div id="app"></div>
</body>
</html>
index.html
main.js
router.js
App.vue
HomeView.vue
AboutView.vue
global.css
package.json
现在支持上传本地图片了!
import { createApp } from 'vue'
import router from './router.js'
import App from './App.vue'
import './global.css'
createApp(App)
.use(router)
.mount('#app')
console.log(['Hello 笔.COOL 控制台'])
import { createMemoryHistory, createRouter } from 'vue-router'
import HomeView from './HomeView.vue'
import AboutView from './AboutView.vue'
const routes = [
{ path: '/', component: HomeView },
{ path: '/about', component: AboutView },
]
const router = createRouter({
history: createMemoryHistory(),
routes,
})
export default router
<template>
<h1>Hello Vue Router!</h1>
<p>
<strong>当前路由 path:</strong> {{ $route.fullPath }}
</p>
<nav>
<RouterLink to="/">首页</RouterLink>
<RouterLink to="/about">关于</RouterLink>
</nav>
<main>
<RouterView />
</main>
</template>
<script setup>
import { ref } from "vue"
const title = ref("Hello 笔.COOL");
const descr = ref("一笔一划,绘就人生;一码一境,酷创未来。");
</script>
<template>
<div class="container">
<h1>{{ title }}</h1>
<p><i>{{ descr }}</i></p>
<!-- vue logo -->
<a href="https://vuejs.org/" target="_blank">
<svg class="logo" viewBox="0 0 128 128" width="24" height="24" data-v-97365a3e="">
<path fill="#42b883" d="M78.8,10L64,35.4L49.2,10H0l64,110l64-110C128,10,78.8,10,78.8,10z" data-v-97365a3e="">
</path>
<path fill="#35495e" d="M78.8,10L64,35.4L49.2,10H25.6L64,76l38.4-66H78.8z" data-v-97365a3e=""></path>
</svg>
</a>
</div>
</template>
<style lang="scss" scoped>
$bg: #f0f2f5;
.container {
background: $bg;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}
.logo {
height: 40px;
width: 40px;
margin-top: 20px;
}
h1 {
color: #333;
text-align: center;
}
p {
color: #666;
text-align: center;
}
</style>
<script setup>
import { computed } from 'vue'
import { useRoute, useRouter } from 'vue-router'
const router = useRouter()
const route = useRoute()
const search = computed({
get() {
return route.query.search ?? ''
},
set(search) {
router.replace({ query: { search } })
}
})
</script>
<template>
<h2>关于我们</h2>
<label>
Search: <input v-model.trim="search" maxlength="20">
</label>
</template>
body {
background-color: #fefefe;
}
nav,
main {
border: 2px solid #000;
margin-bottom: 10px;
padding: 10px;
}
nav>a+a {
margin-left: 10px;
}
h2 {
border-bottom: 1px solid #ccc;
margin: 0 0 20px;
}
{
"dependencies": {
"vue": "3.5.15",
"vue-router": "4.5.1"
}
}
预览
预览
控制台
清空