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

购物网站排名哪家好wordpress前端表格插件

购物网站排名哪家好,wordpress前端表格插件,wordpress 获取当前文章栏目链接,wordpress上传错误vue-router作为vue全家桶之一的重要插件,有必要去深究一下,今天我们就从0到1手写一个简化版本。 开始之前,我们使用路由插件时是先进行下载路由 npm i vue-router ,然后在main.js中使用app.use导入router插件。想要手写vue-rou…

vue-router作为vue全家桶之一的重要插件,有必要去深究一下,今天我们就从0到1手写一个简化版本。

开始之前,我们使用路由插件时是先进行下载路由

npm i vue-router

,然后在main.js中使用app.use导入router插件。想要手写vue-router,必须先搞懂app.use()干了一件什么事情。我们去官方文档下面看看。

app.use()​

安装一个插件。

  • 类型

    ts
    interface App {use(plugin: Plugin, ...options: any[]): this
    }
  • 详细信息

    第一个参数应是插件本身,可选的第二个参数是要传递给插件的选项。

    插件可以是一个带 install() 方法的对象,亦或直接是一个将被用作 install() 方法的函数。插件选项 (app.use() 的第二个参数) 将会传递给插件的 install() 方法。

    若 app.use() 对同一个插件多次调用,该插件只会被安装一次。

两个组件router-view 和router-link

<template><a :href="'#' + props.to"><slot></slot></a>
</template><script setup>
const props = defineProps({to: {type: String,required: true,},
});
</script><style lang="css" scoped>
</style>
<!--* @LastEditTime: 2024-08-14 10:45:56* @Description: file content
-->
<template><component :is="component"></component>
</template><script setup>
import { useRouter } from "./index.js";
import { computed } from "vue";
const router = useRouter();
const mapRouter = new Map();
const reflectMapRouter = (router) => {router.routes.forEach((route) => {// 更具路径进行组件查询,保证O(1)时间mapRouter.set(route.path, route.component);});
};
//方法执行进行组件注册
reflectMapRouter(router);
//设置为计算属性响应式更新
const component = computed(() => {const nowRoute = mapRouter.get(router.current.value);//这里注意,需要进行校验,因为用户可能输入错误网址return nowRoute ? nowRoute : null;
});
</script>
<style lang="css" scoped>
</style>
/** @LastEditTime: 2024-08-14 10:47:43* @Description: file content*/
import { ref } from "vue";
// 对所有页面暴露
const ROUTER_KEY = "__router__";export const useRouter = () => {//获取暴露的Router对象return inject(ROUTER_KEY);
}
class Router {constructor(options) {//history对象就是createHashWebHistroy返回的history对象this.history = options.history;// 路由对象数组,path,component,name等配置this.routes = options.routes;//获取当前路由地址this.current = ref(this.history.url);// 这里的方法是监听hashchange事件来更新current,切换路由//,可以先不看这一段等会会讲this.history.bindEvent(() => {this.current.value = window.location.hash.slice(1);})}//插件的install方法install(app) {// 全局声明 有一个router 全局使用的对象app.provide(ROUTER_KEY, this);//注册全局组件app.component('router-link', RouterLink);app.component('router-view', RouterView);}
}
export const createRouter = (options) => {return new Router(options);
}
export const createWebHashHistory = () => {function bindEvent(fn) {window.addEventListener('hashchange', fn);}// history 对象return {url: window.location.hash.slice(1) || '/',bindEvent}
}

http://www.yayakq.cn/news/675980/

相关文章:

  • 西安网站建设开发怎么设计海报图片
  • 万远翔网站建设把网页做成软件
  • 手机上哪个网站江苏建科建筑培训网
  • 建站系统多少钱辽宁招标网
  • 个人音乐分享网站源码怎样看网站有没有做301
  • 网站模板双语网页游戏脚本制作教程
  • 温岭网站设计网站查询ip解析
  • 支部建设杂志官方网站设计说明生成器网页版
  • 南京房地产网站做网站必须要购买域名
  • 枣庄三合一网站建设公司深圳做网站建设月薪多少
  • 网站产品策划90设计网官网登录
  • 龙华网站建设网络推广这个工作好做吗
  • 怎样做辅导班的网站wordpress 路由设计
  • 上传照片的网站赚钱深圳设计公司办公室装修设计
  • 网站建设资质备案成都短视频代运营公司
  • 企业网站开发公司大全网站添加搜索关键字
  • s吗网站虚拟主机关于网站建设的文章
  • 双语网站价格洪山网站建设公司
  • 制度建设对网站管理的重要性网站建设设计说明书
  • 免费自媒体网站广州站西手表
  • 网站海外推广服务免费自助建站怎么样
  • win7系统做网站服务器石龙建设网站
  • 大城县建设局网站wordpress建站行吗
  • 做ppt高手 一定要常去这八个网站公众号的网站开发
  • 茂名手机网站制作免费做外贸的网站建设
  • 网站左侧的导航是怎么做的网站仿站
  • 做伤残鉴约号网站网站建设谈单技巧
  • 重庆建设安全管理网站平面设计工作好找吗
  • 购物网站制作例子网络设计开题报告
  • 海口有哪几家是做网站的电脑网站做淘宝客