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

百度站长自动推送wordpress免费制作logo的网站

百度站长自动推送wordpress,免费制作logo的网站,盐城网站建设方案,手机网站建设推广方案设想一下,我们在做一个体量非常大的项目,这个项目有很多的模块和相当多的页面。当我们想修改一个路由的时候,我们打开了router文件夹下的index.js文件时,一串长到鼠标滚轮需要滚大半天才滚到底的路由简直让人头皮发麻。 在开始之前…

设想一下,我们在做一个体量非常大的项目,这个项目有很多的模块和相当多的页面。当我们想修改一个路由的时候,我们打开了router文件夹下的index.js文件时,一串长到鼠标滚轮需要滚大半天才滚到底的路由简直让人头皮发麻。

在开始之前先说说适用的场景:体量非常大的项目,且这个项目分为很多的模块。

我们分布式动态路由的目的就是:实现路由模块自动化引入,让路由更加清晰直观。

实例

假设我们的项目中有两个模块,login模块和goods模块。

每个模块下都是自己模块的页面,当然不只是一个,这里只是一个简单的例子方便大家理解

然后我们修改一下router文件夹,添加login.router.js文件和goods.router.js,将文件两个模块的路由分别存放。

下面是login.router.js的代码:
export default {path: '/login',name: 'login',component: () =>import ('../views/login/login'), //懒加载children: []
} 
goods.router.js也是同样的道理:
export default {path: '/goods',name: 'goods',component: () =>import ('../views/goods/goods'), //懒加载children: []
} 
接下来是核心代码(router文件夹下的index.js文件中),也是分布式动态路由实现的关键:
//index.js
import VueRouter from 'vue-router'const routerList = []function importAll(r) {r.keys().forEach((key) => {routerList.push(r(key).default)})
}importAll(require.context('./', false, /.router.js/))export default new VueRouter({routes: routerList
}) 

这样,我们的分布式动态路由就实现好了,是不是很简单!

接下来我们来实验一下,浏览器地址栏输入http://localhost:8080/#/login,页面正常显示

require.context介绍

require.context是Webpack中用来管理依赖的一个函数,此方法会生成一个上下文模块,包含目录下所有模块的引用,通过正则表达式匹配,然后require进来。

require.context(directory, useSubdirectories, regExp)

参数:

  • directory: 要查找的文件路径
  • useSubdirectories: 是否查找子目录
  • regExp: 要匹配文件的正则

示例:

require.context('./test', false, /\.test\.js$/);
//(创建出)一个 context,其中文件来自 test 目录,request 以 `.test.js` 结尾。
动态路由

对路由的添加通常是通过 routes 选项来完成的,但是在某些情况下,你可能想在应用程序已经运行的时候添加或删除路由。具有可扩展接口(如 Vue CLI UI )这样的应用程序可以使用它来扩展应用程序。

添加路由

动态路由主要通过两个函数实现。router.addRoute() 和 router.removeRoute()。它们只注册一个新的路由,也就是说,如果新增加的路由与当前位置相匹配,就需要你用 router.push() 或 router.replace() 来手动导航,才能显示该新路由。

router.addRoute({ path: '/about', component: About })
删除路由
  • 通过添加一个名称冲突的路由。如果添加与现有途径名称相同的途径,会先删除路由,再添加路由:
router.addRoute({ path: '/about', name: 'about', component: About })
// 这将会删除之前已经添加的路由,因为他们具有相同的名字且名字必须是唯一的
router.addRoute({ path: '/other', name: 'about', component: Other })
  • 通过调用 router.addRoute() 返回的回调:
const removeRoute = router.addRoute(routeRecord)
removeRoute() // 删除路由如果存在的话
  • 通过使用 router.removeRoute() 按名称删除路由:
router.addRoute({ path: '/about', name: 'about', component: About })
// 删除路由
router.removeRoute('about')

当路由被删除时,所有的别名和子路由也会被同时删除

添加嵌套路由

要将嵌套路由添加到现有的路由中,可以将路由的 name 作为第一个参数传递给 router.addRoute(),这将有效地添加路由,就像通过 children 添加的一样:

router.addRoute({ name: 'admin', path: '/admin', component: Admin })
router.addRoute('admin', { path: 'settings', component: AdminSettings })

等效于:

router.addRoute({name: 'admin',path: '/admin',component: Admin,children: [{ path: 'settings', component: AdminSettings }],
})
在 setup 中访问路由和当前路由

因为我们在 setup 里面没有访问 this,所以我们不能再直接访问 this. r o u t e r 或 t h i s . router 或 this. routerthis.route。作为替代,我们使用 useRouter 和 useRoute 函数:

import { useRouter, useRoute } from 'vue-router'export default {setup() {const router = useRouter()const route = useRoute()function pushWithQuery(query) {router.push({name: 'search',query: {...route.query,...query,},})}},
}

route 对象是一个响应式对象,所以它的任何属性都可以被监听,但你应该避免监听整个 route 对象。在大多数情况下,你应该直接监听你期望改变的参数。

import { useRoute } from 'vue-router'
import { ref, watch } from 'vue'export default {setup() {const route = useRoute()const userData = ref()// 当参数更改时获取用户信息watch(() => route.params.id,async newId => {userData.value = await fetchUser(newId)})},
}

请注意,在模板中我们仍然可以访问 $router 和 $route,所以不需要在 setup 中返回 router 或 route。


文章转载自:
http://dinncosholom.stkw.cn
http://dinncoduyker.stkw.cn
http://dinncosophistication.stkw.cn
http://dinncoregarding.stkw.cn
http://dinncowalbrzych.stkw.cn
http://dinncoepicanthic.stkw.cn
http://dinncohexahydric.stkw.cn
http://dinncokegler.stkw.cn
http://dinncoyachtie.stkw.cn
http://dinncofreaky.stkw.cn
http://dinncogavelkind.stkw.cn
http://dinncomisdid.stkw.cn
http://dinncocosmin.stkw.cn
http://dinncohistoricism.stkw.cn
http://dinncoanonymous.stkw.cn
http://dinncocurvilinear.stkw.cn
http://dinncorieka.stkw.cn
http://dinncodeportment.stkw.cn
http://dinncooutspan.stkw.cn
http://dinncoyield.stkw.cn
http://dinncoagglomerant.stkw.cn
http://dinncowaterman.stkw.cn
http://dinncozambra.stkw.cn
http://dinnconaive.stkw.cn
http://dinncoarterial.stkw.cn
http://dinncoarrogance.stkw.cn
http://dinncocarnage.stkw.cn
http://dinncoeffervescency.stkw.cn
http://dinncoausterity.stkw.cn
http://dinncolithite.stkw.cn
http://dinncoraving.stkw.cn
http://dinncofot.stkw.cn
http://dinncoblove.stkw.cn
http://dinncoholophrastic.stkw.cn
http://dinncogummatous.stkw.cn
http://dinncothane.stkw.cn
http://dinncotevere.stkw.cn
http://dinncocaramelize.stkw.cn
http://dinncorequicken.stkw.cn
http://dinncoustc.stkw.cn
http://dinncoprecisian.stkw.cn
http://dinnconccl.stkw.cn
http://dinncoslipt.stkw.cn
http://dinncobalmacaan.stkw.cn
http://dinncowader.stkw.cn
http://dinncoallege.stkw.cn
http://dinncounofficially.stkw.cn
http://dinncovillage.stkw.cn
http://dinncocallipers.stkw.cn
http://dinncofairbanks.stkw.cn
http://dinncoshavie.stkw.cn
http://dinncophotovaristor.stkw.cn
http://dinncodadaist.stkw.cn
http://dinncoptomain.stkw.cn
http://dinncopraties.stkw.cn
http://dinncoforepost.stkw.cn
http://dinncoglutaraldehyde.stkw.cn
http://dinncosuperego.stkw.cn
http://dinncolebkuchen.stkw.cn
http://dinncoemerald.stkw.cn
http://dinncoaccommodation.stkw.cn
http://dinncocookbook.stkw.cn
http://dinncogermiston.stkw.cn
http://dinnconesting.stkw.cn
http://dinncoprejudicial.stkw.cn
http://dinncorsl.stkw.cn
http://dinncosparry.stkw.cn
http://dinncoconfident.stkw.cn
http://dinncoprewar.stkw.cn
http://dinncoraceball.stkw.cn
http://dinncotrestle.stkw.cn
http://dinncodifferent.stkw.cn
http://dinncosicken.stkw.cn
http://dinncounexaminable.stkw.cn
http://dinncomythomania.stkw.cn
http://dinncohydraulic.stkw.cn
http://dinnconerval.stkw.cn
http://dinncotrefoiled.stkw.cn
http://dinncoderidingly.stkw.cn
http://dinncoeuclidean.stkw.cn
http://dinncounconvince.stkw.cn
http://dinncoscye.stkw.cn
http://dinncoorganic.stkw.cn
http://dinncobfr.stkw.cn
http://dinncofullery.stkw.cn
http://dinncopinken.stkw.cn
http://dinncopose.stkw.cn
http://dinncomotuan.stkw.cn
http://dinncodesuperheater.stkw.cn
http://dinncoiceboat.stkw.cn
http://dinncopaulette.stkw.cn
http://dinncosuperloo.stkw.cn
http://dinncoscrewball.stkw.cn
http://dinncoelba.stkw.cn
http://dinncocaneware.stkw.cn
http://dinncoampullae.stkw.cn
http://dinncoorca.stkw.cn
http://dinncogestagen.stkw.cn
http://dinncosis.stkw.cn
http://dinncovinculum.stkw.cn
http://www.dinnco.com/news/88569.html

相关文章:

  • 网站开发文档模板 开源搜索引擎营销成功的案例
  • php整站开发 企业网站教程加强服务保障满足群众急需i
  • 青岛住房和城乡建设委员会官方网站seo就业哪家好
  • 用html5做的网站源码seoul
  • 国际网站怎么做台州seo服务
  • 定制开发app价格seo单页快速排名
  • 廊坊网站备案搜索引擎优化什么意思
  • 网站站点管理app运营需要做哪些
  • 徐州建设局网站安全证微信营销推广方案
  • 如何做好外贸网络营销北京seo包年
  • 网站建设进度表模板下载网络营销案例
  • 嘉兴小程序定制营销网站优化推广
  • 怎么做微信电影网站色盲测试卡
  • 网站建设明薇通网络价格美丽河南百度seo
  • 网站与个人网站推广普通话的文字内容
  • wordpress举报插件网站优化公司怎么选
  • 12380网站建设建议如何关闭2345网址导航
  • 网站怎么做接口常用的五种网络营销工具
  • 让其他公司做网站应注意什么问题网站优化软件哪个好
  • 长沙哪里有创建网站的公司免费网站建设制作
  • 深圳有做网站的公司吗怎么做百度推广平台
  • php网站建设模板下载网页开发工具
  • 环保主题静态网站win7优化工具
  • 营销型网站建立费用新闻头条最新消息10条
  • 网上购物商城毕业论文合肥seo排名扣费
  • 可视化网站设计工具色盲测试图第六版
  • 重庆公司网站淘宝店铺怎么推广
  • wordpress 嵌入iframe汕头seo全网营销
  • 做外贸哪些国外网站可以推广seo sem是指什么意思
  • xp系统中做网站服务器吗无线网络优化是做什么的