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

网站建设关键要做好哪些工作怎样把自己做的网站发到网上

网站建设关键要做好哪些工作,怎样把自己做的网站发到网上,深圳网站建设找哪家好,wordpress去除文章作者路由独有的两个生命周期钩子 作用:用于捕获路由组件的激活状态 具体名字: activated 路由组件被激活时触发 deactivated 路由组件失活时触发 现在在缓存路由组件的基础上,想要使h2中的文字透明度不断变化,在切换到别的组件时销毁控制文字不…

路由独有的两个生命周期钩子

作用:用于捕获路由组件的激活状态
具体名字:
activated 路由组件被激活时触发
deactivated 路由组件失活时触发

现在在缓存路由组件的基础上,想要使h2中的文字透明度不断变化,在切换到别的组件时销毁控制文字不断变化的定时器
以前用的钩子:BeforeDestroy销毁定时器,但现在为保存表单数据设置了NewsInfo不被摧毁 ,所以使用BeforeDestroy销毁也没有用。
因此需要用到两个路由独有的生命周期钩子:activated(路由组件被激活时触发)和deactivated( 路由组件失活时触发)
NewsInfo.vue:

<ul><h2 :style="{opacity}">欢迎学习vue</h2>......
</ul>
activated(){   //打开页面,从没有出现到出现this.timer=setInterval(()=>{console.log("@@@")if(this.opacity<=0){this.opacity=1}this.opacity-=0.01},10)},
deactivated(){   //切换页面关闭定时器,同时不会影响到表单中数据的存储clearInterval(this.timer)}
}

路由守卫(三种)

meta元信息

在介绍三种路由守卫之前先介绍meta配置项

当有很多页面都需要设置权限,这样写太麻烦,所以可以给需要设置权限的页面对应的路由增加一个配置项:meta:{isAuth:true},值为true表示需要设置权限

全局路由守卫

全局前置——路由守卫

全局前置路由守卫——初始化的时候被调用、每次路由被切换之前被调用
要求: 指定学校名字是atguigu,想要实现可以随意查看HomeInfo和AboutInfo,但是只有是这个学校的人才有权限查看MessageInfo和Newsinfo里的内容。

1.不能再写成:export default new VueRouter({}),否则就会刚创建完实例对象,瞬间就暴露了。应该先和router商量:只有是指定学校的人才有权限查看。所以换成const router。

const router= new VueRouter({})
......
export default router

index.js:

router.beforeEach((to,from,next)=>{  //三个参数,to是去哪里,from是来自哪里,next是决定是否往下执行// if(to.path==="/homeinfo/newsinfo" || to.path==="/homeinfo/messageinfo"){   //先判断查看的是否是MessageInfo和Newsinfo里的内容if(to.name==="xinwen" || to.name==="xinxi"){if(localStorage.getItem("school")==="atguigu"){   //如果查看的是里面的内容,且学校名字是指定的名字next()}  else{   //如果查看的是里面的内容,但学校名字不是指定的名字alert("你没有权限查看!")}}else{next()   //如果查看的不是指定的内容,则有权限查看,继续往下执行}
})

效果图:
在这里插入图片描述
在这里插入图片描述

简写优化:

index.js
给MessageInfo和NewsInfo路由添加:meta:{isAuth:true},

if(to.meta.isAuth){   //凡是这个值为真,就执行下面的代码if(localStorage.getItem("school")==="atguigu"){  next()}  else{   //如果查看的是里面的内容,但学校名字不是指定的名字alert("你没有权限查看!")}}else{next()   //如果查看的不是指定的内容,则有权限查看,继续往下执行}
})

全局后置——路由守卫

全局后置路由守卫——初始化的时候被调用、每次路由被切换之后被调用
要求: 这个案例是使document.title和打开的页面的title保持一致,但是仍然要写全局前置路由守卫,否则当打开没有权限的页面时,document.title应该显示主页,而它却显示消息或信息

在全局前置代码的基础上:

router.afterEach((to)=>{document.title=to.meta.title || "路由小练习"   //加上|| "路由小练习"为了防止刚开始打开的页面没有title,为了改变刚开始页面的title,需要把index.html文件中的title名字也改成相同的
})

效果图:
在这里插入图片描述

独享路由守卫

只给某一个页面设置权限
可以和全局后置路由守卫搭配使用

{name:"xiaoxi",path:"newsinfo",component:NewsInfo,meta:{isAuth:true,title:"消息" },//给xiaoxi添加独享守卫beforeEnter(to,from,next){if(to.meta.isAuth){if(localStorage.getItem("school")==="atguigu"){next()}else{alert("您没有权限查看!")}}else {next()}}
}

组件内路由守卫

写在设置权限的页面的组件内。分为进入(beforeRouteEnter)和离开(beforeRouteLeave)

//给xiaoxi添加组件内路由守卫// 通过路由规则,进入该组件时被调用beforeRouteEnter(to,from,next){if(to.meta.isAuth){if(localStorage.getItem("school")==="atguigu"){next()}else{alert("您没有权限查看!")}}else {next()}},// 通过路由规则,离开该组件时被调用beforeRouteLeave(to,from,next){next()}

路由的两种工作模式

hash模式

1.对于一个ur来说,hash值是:#及其后面的内容就是hash值。
2.hash值不会包含在HTTP请求中,即:hash值不会带给服务器。
hash模式:
1.地址中永远带着#号,不美观。
2.若以后将地址通过第三方手机app分享,若app校验严格,则地址会被标记为不合法。
3.兼容性较好。

history模式

history模式是用“/”分隔开,没有“#”号
history模式:
1.地址干净,美观。
2.兼容性和hash模式相比略差。
3.应用部署上线时需要后端人员支持,解决刷新页面服务端404的问题。
默认是hash模式,如果想要更改,代码如下:

const router= new VueRouter({mode:"hash",  //设置路由器的工作模式......

mode只有两个值,hash或者history

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

相关文章:

  • 快速装修整站seo怎么做
  • 东莞网站建设-搜盟网建造师
  • 遵义网站制作报价做彩票网站是违法
  • 西安电商网站郑州一建劳务有限公司
  • 网站优化费用怎么做会计分录shopify建站流程
  • 新华社两学一做网站wordpress自动缩略图插件
  • 网站推广与品牌建设网站的建设工具实施过程
  • 国外 电商网站石家庄做网络推广的网站
  • 官方网站建设最重要的是义乌国贸学校网站建设
  • 嘉兴制作手机网站如何让自己做的博客网站上线
  • 常熟企业网站建设价格xly000.wordpress 伪装
  • 弄个做网站公司微信小程序开发的优势
  • 旅游网页网站开发的目的和意义游戏代理哪个平台正规
  • 西安做网站推广什么推广软件效果好
  • 购物网站app开发友情链接平台赚钱吗
  • 网站免费做软件湖北德升建站
  • 公司做网站的好处本地江苏网站建设
  • 网页设计网站建设的书籍川沙网站建设
  • 花生壳免费域名注册网站google翻译
  • 网站访问量统计工具成都app定制公司
  • 企业网站建设的心得找做金融的网站有哪些
  • 帝国做的网站删除域名后缀qq邮箱咋与网站绑定提醒
  • dw做网站一般需要多大尺寸怎么开发游戏
  • 太仓网站开发公司网站建设创业计划书模板范文
  • 网站开发项目规划西安建设门户网站
  • 婚恋网站制作要多少钱wordpress 4.0 中文版
  • 免费隐私网站推广appWordPress cos媒体库
  • 做网站seo的公司榆林建设局网站
  • 一般建站公司用什么cms企业网站建设与管理作业
  • 福建省网站建设绩效排名wordpress前台显示双语