当前位置: 首页 > wzjs >正文

山东省建设工程招标中心网站整合营销理论

山东省建设工程招标中心网站,整合营销理论,怎么使用服务器做网站,什么样配置的虚拟主机打开网站快第三章:路由与状态管理 1. Vue Router 安装和配置: Vue Router 就像是你网页应用里的“导航员”,它知道怎么根据用户的操作,把用户带到不同的页面。要使用它,首先得把它“请”到你的项目里。就像邀请一位朋友到家里&…

第三章:路由与状态管理

1. Vue Router
  • 安装和配置
    Vue Router 就像是你网页应用里的“导航员”,它知道怎么根据用户的操作,把用户带到不同的页面。要使用它,首先得把它“请”到你的项目里。就像邀请一位朋友到家里,你得通过 npm 这个“快递员”来帮忙。在项目的命令行里输入 npm install vue-router@next,这就相当于给“快递员”下了个订单,让它把 Vue Router 送到你的项目里。

安装好后,要给这位“导航员”讲讲规则,也就是配置它。在项目的 src 目录下新建一个 router 文件夹,然后在里面创建一个 index.js 文件。在这个文件里,你要告诉它每个“目的地”(页面)在哪里。

import { createRouter, createWebHistory } from 'vue-router';
// 引入你项目里的页面组件
import HomeView from '../views/HomeView.vue';
import AboutView from '../views/AboutView.vue';const router = createRouter({history: createWebHistory(import.meta.env.BASE_URL),routes: [{path: '/',name: 'home',component: HomeView},{path: '/about',name: 'about',component: AboutView}]
});export default router;

这里,createRouter 就像是创建了一个“导航系统”,createWebHistory 告诉它用哪种方式来记录用户的浏览历史,就像选择用哪种地图导航模式。routes 数组里的每一项就是一个个“导航指令”,path 是用户在浏览器地址栏输入的路径,就像地址;name 是给这个路径起的一个别名,方便在代码里引用;component 就是当用户访问这个路径时要显示的页面组件。

  • 定义路由
    上面的配置其实就是在定义路由。比如 path: '/' 就表示当用户访问网站的根路径时,也就是打开网站的首页,会显示 HomeView 这个组件对应的页面内容。path: '/about' 则表示当用户访问 /about 路径时,会显示 AboutView 组件对应的页面。

  • 导航守卫
    导航守卫就像是“导航员”的一些特殊规则,用来决定用户能不能去他想去的地方。比如说,有些页面只有登录后的用户才能访问。

router.beforeEach((to, from, next) => {// 假设这里有一个判断用户是否登录的函数 isLoggedInif (to.path === '/admin' &&!isLoggedIn()) {next('/login'); // 如果用户没登录,想去 /admin 页面,就把他导航到 /login 页面} else {next(); // 否则,就让用户继续前往他想去的页面}
});

beforeEach 是一个全局前置守卫,在每次导航发生之前都会执行这个函数。to 是即将要进入的目标路由对象,from 是当前导航正要离开的路由对象,next 函数用来控制导航的流程。

  • 路由懒加载
    想象你的网页应用有很多页面,就像一个大商场有很多店铺。如果一开始就把所有店铺的信息都加载出来,那得多慢啊。路由懒加载就像是顾客走到哪家店铺附近了,才开始加载那家店铺的详细信息。
const router = createRouter({history: createWebHistory(import.meta.env.BASE_URL),routes: [{path: '/big-page',name: 'bigPage',// 这里使用了路由懒加载,只有当用户访问 /big-page 时才会加载这个组件component: () => import('../views/BigPageView.vue')}]
});

() => import('../views/BigPageView.vue') 这种写法就是路由懒加载,它会在需要的时候才去加载 BigPageView.vue 这个组件,大大提高了页面的初始加载速度。

2. Pinia 或 Vuex
  • 选择状态管理库
    Pinia 和 Vuex 都像是你的项目的“数据仓库管理员”,它们负责管理项目里那些需要在多个组件之间共享和修改的数据。Pinia 是 Vuex 的“年轻升级版”,它的语法更简洁,用起来更方便,就像新一代的仓库管理员,管理方式更高效。而 Vuex 功能强大,经过了长时间的考验,就像一位经验丰富的老管理员。你可以根据项目的规模和复杂度来选择。如果是一个小型项目,Pinia 可能更适合,上手快;如果是大型项目,Vuex 可能能更好地满足复杂的需求。

  • 以 Pinia 为例学习使用
    首先,还是要通过 npm 把 Pinia 请进项目,在命令行输入 npm install pinia

然后在 src 目录下创建一个 store 文件夹,在里面创建一个 main.js 文件(这是 Pinia 的主仓库文件)。

import { createPinia } from 'pinia';const pinia = createPinia();export default pinia;

这就创建了一个 Pinia 的“仓库”。接下来,你可以在这个仓库里创建不同的“小仓库”来管理不同类型的数据。比如创建一个用来管理用户信息的“小仓库”。

store 文件夹里创建一个 user.js 文件。

import { defineStore } from 'pinia';export const useUserStore = defineStore('user', {state: () => ({username: '',age: 0}),actions: {setUserInfo(name, age) {this.username = name;this.age = age;}}
});

这里,defineStore 定义了一个名为 user 的“小仓库”,state 就像是仓库里存放数据的架子,存放了 usernameage 这两个数据。actions 就像是仓库管理员的操作手册,定义了 setUserInfo 这个方法,用来修改 usernameage 的值。

在组件里使用这个“小仓库”:

<template><div><p>用户名: {{ userStore.username }}</p><p>年龄: {{ userStore.age }}</p><button @click="updateUser">更新用户信息</button></div>
</template><script setup>
import { useUserStore } from '../store/user.js';const userStore = useUserStore();const updateUser = () => {userStore.setUserInfo('张三', 25);
};
</script>

在这个组件里,通过 useUserStore 引入了用户信息的“小仓库”,然后就可以在模板里显示仓库里的数据,还能通过调用 actions 里的方法来修改数据。

通过学习路由和状态管理,你就能让你的 Vue 3 项目实现页面之间的流畅跳转,并且更好地管理项目里共享的数据,让项目变得更加完整和强大。

http://www.dtcms.com/wzjs/95883.html

相关文章:

  • 个人可以做交友网站吗天津网站推广
  • 日本亲子游哪个网站做的好十大技能培训机构排名
  • 烟台网站制作设计谷歌seo网站推广
  • 开个网站做英语培训岳阳网站设计
  • seo域名如何优化武汉seo计费管理
  • 心理健康教育网站建设优化公司流程制度
  • 政府网站群建设项目江阴网站制作公司
  • 房价暴跌开始了手机网站排名优化
  • 17网站一起做网店广十大最靠谱教育培训机构
  • 一个网站 二级域名谷歌推广新手教程
  • 花生日记网站建设网络推广好做吗多少钱
  • 大连可以做网站的公司关键词seo排名怎么选
  • 重庆求建网站百度网站推广费用
  • java web网站开发结果企业网站seo优化外包
  • 昭通政府网站省耕山水片区建设网站建设包括哪些内容
  • 个人网站如何快速通过icp备案网站优化软件哪个好
  • 水磨沟区做网站的seo检查工具
  • 青岛网站建设市场分析长沙网站制作策划
  • 适合个人做的网站有哪些东西沈阳seo按天计费
  • 兰州专业做网站的公司徐州seo代理计费
  • 做电商在什么网站百度引擎搜索
  • 乐山乐人网站建设公司百度爱采购客服电话
  • 做网站程序的都不关注seo整站多关键词优化
  • 青岛网站备案网页制作代码
  • 网站建设服务标准化竞价服务托管公司
  • 中企动力做网站多少钱夸克搜索引擎入口
  • 自己做网站收费么专业模板建站
  • 用dw做的网页如何上传到网站网络营销优化推广公司
  • 什么网站可以做兼职日语翻译磁力猫torrent kitty
  • 网站怎么做的防采集谷歌海外广告投放推广