import{_ as p,r as o,o as i,c as r,b as s,d as n,a as e,f as t}from"./app.bd9c95b7.js";const c={},l=t(`

API

Fes.js 统一了API的出口,所有运行时API(包含Fes.js内置API和插件提供的API)全部通过@fesjs/fes导出。

import { someApi  } from "@fesjs/fes"

基础API

plugin

提示

主要在插件里面使用,项目代码中一般用不到。

运行时插件接口,是 Fes.js 内置的跑在浏览器里的一套插件体系。

import { plugin, ApplyPluginsType } from '@fesjs/fes';

// 注册插件
plugin.register({
  apply: { dva: { foo: 1 } },
  path: 'foo',
});
plugin.register({
  apply: { dva: { bar: 1 } },
  path: 'bar',
});

// 执行插件
// 得到 { foo: 1, bar: 1 }
plugin.applyPlugins({
  key: 'dva',
  type: ApplyPluginsType.modify,
  initialValue: {},
  args: {},
  async: false,
});

plugin.register 参数包含:

plugin.applyPlugins 参数包含:

ApplyPluginsType

提示

主要在插件里面使用,项目代码中一般用不到。

运行时插件执行类型,enum 类型,包含三个属性:

defineRouteMeta

定义页面的元信息

defineBuildConfig

定义构建配置

defineRuntimeConfig

定义运行时配置

路由API

`,23),u={href:"https://next.router.vuejs.org/introduction.html",target:"_blank",rel:"noopener noreferrer"},d=t(`

getRouter

返回当前 router 实例。

import { getRouter } from "@fesjs/fes";
const router = getRouter();
router.push();

getHistory

返回当前路由的History

useRoute

返回当前 route 实例,相当于在模板内使用 $route。必须在 setup 函数内调用。

import { useRoute } from "@fesjs/fes";
export default {
    setup(){
        const route = useRoute()
    }
}

useRouter

返回 router 实例,相当于在模板语法中使用 $router。必须在 setup 函数内调用。

import { useRouter } from "@fesjs/fes";
export default {
    setup(){
        const router = useRouter()
    }
}

onBeforeRouteUpdate

添加导航守卫,在当前路由即将更新时触发。类似于之前的beforeRouteUpdate,但是可用于任何组件。卸载组件时,将移除守卫。

import { onBeforeRouteUpdate } from "@fesjs/fes";
export default {
    setup(){
        onBeforeRouteUpdate((to, from, next)=>{
        })
    }
}

onBeforeRouteLeave

添加导航守卫,在当前路由即将离开时触发。类似于之前的beforeRouteLeave,但可用于任何组件。卸载组件时,将移除守卫。

import { onBeforeRouteLeave } from "@fesjs/fes";
export default {
    setup(){
        onBeforeRouteLeave((to, from, next)=>{
        })
    }
}

createWebHashHistory

提示

在开发插件时可能用上,平时一般用不上

创建一个 hash 历史记录。对于没有主机的 web 应用程序 (例如 file://),或当配置服务器不能处理任意URL时这非常有用。注意:如果 SEO 对你很重要,你应该使用 createWebHistory

createWebHistory

提示

在开发插件时可能用上,平时一般用不上

创建HTML5历史记录。单页应用程序最常见的历史记录。必须通过 http 服务打开页面地址 。

createMemoryHistory

提示

在开发插件时可能用上,平时一般用不上

创建一个基于内存的历史记录。这个历史记录的主要目的是处理 SSR。它在一个特殊的位置开始,这个位置无处不在。如果用户不在浏览器上下文中,它们可以通过调用 router.push() 或 router.replace() 将该位置替换为启动位置。

createRouter

`,27),k={href:"https://next.router.vuejs.org/api/#routeroptions",target:"_blank",rel:"noopener noreferrer"},v=t(`

使用自定义组件路由器链接来创建链接,而不是使用常规标签。这使得 Vue 路由器无需重新加载页面即可更改 URL、处理 URL 生成及其编码。

<router-link to="/about">Go to About</router-link>
`,3),h={href:"https://next.router.vuejs.org/api/#router-link-props",target:"_blank",rel:"noopener noreferrer"},m={href:"https://next.router.vuejs.org/api/#router-link-s-v-slot",target:"_blank",rel:"noopener noreferrer"},b=s("h3",{id:"uselink",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#uselink","aria-hidden":"true"},"#"),n(" useLink")],-1),g={href:"https://next.router.vuejs.org/api/#router-link-s-v-slot",target:"_blank",rel:"noopener noreferrer"},f=t(`
import { RouterLink, useLink } from '@fesjs/fes'

export default {
  name: 'AppLink',

  props: {
    // add @ts-ignore if using TypeScript
    ...RouterLink.props,
    inactiveClass: String,
  },

  setup(props) {
    // \`props\` contains \`to\` and any other prop that can be passed to <router-link>
    const { navigate, href, route, isActive, isExactActive } = useLink(props)

    // profit!

    return { isExternalLink }
  },
}

RouterView

router-view 将显示当前 URL 的对应的路由组件。你可以把它放在任何地方,以适应你的布局。

<router-view></router-view>
<router-view v-slot="{ Component, route }">
  <component :is="Component" />
</router-view>
`,4),y={href:"https://next.router.vuejs.org/api/#router-view-props",target:"_blank",rel:"noopener noreferrer"},x={href:"https://next.router.vuejs.org/api/#router-view-s-v-slot",target:"_blank",rel:"noopener noreferrer"},_=s("h3",{id:"其他-router-methods",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#其他-router-methods","aria-hidden":"true"},"#"),n(" 其他 Router Methods")],-1),w={href:"https://next.router.vuejs.org/api/#router-methods",target:"_blank",rel:"noopener noreferrer"};function j(R,L){const a=o("ExternalLinkIcon");return i(),r("div",null,[l,s("p",null,[n("Fes.js 路由基于 "),s("a",u,[n("Vue Router 4.0"),e(a)]),n(",想了解更多的同学可以看看官方文档。")]),d,s("p",null,[n("创建一个路由器实例,该实例可用于 Vue 应用程序。查看"),s("a",k,[n("路由器选项"),e(a)]),n(",了解可以传递的所有属性的列表。")]),v,s("p",null,[n("可以查看"),s("a",h,[n("官方文档"),e(a)]),n("了解更多 RouterLink 的 Porps。查看"),s("a",m,[n("官方文档"),e(a)]),n("了解 RouterLink 的作用域插槽。")]),b,s("p",null,[n("返回的结果跟 RouterLink 的作用域插槽的属性一致,查看"),s("a",g,[n("官方API"),e(a)]),n("了解更多。")]),f,s("p",null,[n("可以查看"),s("a",y,[n("官方文档"),e(a)]),n("了解更多 RouterView 的 Porps。查看"),s("a",x,[n("官方文档"),e(a)]),n("了解 RouterView 的作用域插槽。")]),_,s("p",null,[n("查看"),s("a",w,[n("vue-router 官方文档"),e(a)]),n("了解更多。")])])}const A=p(c,[["render",j],["__file","index.html.vue"]]);export{A as default};