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

广州云脑网站建设wordpress 相册 主题

广州云脑网站建设,wordpress 相册 主题,网站由那些组成,深圳企业网站设计目录 一、 路由和传值 二、案例 三、案例存在无法刷新问题 一、 路由和传值 当某个组件可以根据某些参数值的不同#xff0c;展示不同效果时#xff0c;需要用到动态路由。 例如#xff1a;访问网站看到课程列表#xff0c;点击某个课程#xff0c;就可以跳转到课程详…目录 一、 路由和传值 二、案例 三、案例存在无法刷新问题 一、 路由和传值 当某个组件可以根据某些参数值的不同展示不同效果时需要用到动态路由。 例如访问网站看到课程列表点击某个课程就可以跳转到课程详细页面根据课程ID不同展示不同数据。 如何来设置动态路由呢 定义路由可以使用别名定义路由、可以实现动态值 const router new VueRouter({routes: [{ path: /, component: Home},{ path: /course, component: Course, name: Course}{ path: /detail/:id, component: Detail, name: Detail}], }) HTML展示前三个就写死了 divrouter-link to/首页/router-linkrouter-link to/course课程/router-linkrouter-link to/detail/123课程/router-linkrouter-link :to{path:/course}课程/router-linkrouter-link :to{path:/course?size19page2}课程/router-linkrouter-link :to{path:/course, query:{size:19,page:2}课程/router-linkrouter-link :to{name:Course}课程/router-linkrouter-link :to{name:Course, query:{size:19,page:2} }课程/router-linkrouter-link :to{path:/detail/22,query:{size:123}}Linux/router-linkrouter-link :to{name:Detail,params:{id:3}, query:{size:29}}网络安全/router-link /divh1内容区域/h1 router-view/router-view 组件获取URL传值和GET参数 const Detail {data: function () {return {title: 详细页面,paramDict: null,queryDict: null,}},created: function () {this.paramDict this.$route.params;this.queryDict this.$route.query;// 发送axios请求},template: divh2{{title}}/h2div当前请求的数据 {{paramDict}} {{queryDict}}/div/div} 二、案例 结合上面的路由实现案例 !DOCTYPE html html langen headmeta charsetUTF-8titleTitle/titlestylebody {margin: 0;}.container {width: 1100px;margin: 0 auto;}.menu {height: 48px;background-color: #499ef3;line-height: 48px;}.menu a {color: white;text-decoration: none;padding: 0 10px;}.course-list {display: flex;flex-wrap: wrap;justify-content: flex-start;}.course-list .item {width: 248px;padding: 10px;border: 1px solid #dddddd;margin-right: 5px;margin-top: 10px;}.course-list .item img {width: 100%;height: 120px;}/stylescript src./js/vue.min.js/scriptscript src./js/vue-router.js/scriptscript src./js/axios.min.js/script /head body div idappdiv classmenudiv classcontainerrouter-link to/申请入会/router-linkrouter-link to/home首页/router-linkrouter-link to/course写真/router-linkrouter-link to/news资讯/router-link/div/divdiv classcontainerrouter-view/router-view/div/divscriptconst Home {data: function () {return {title: 欢迎进入交友平台}},template: h2{{title}}/h2}const Course {data: function () {return {courseList: []}},created: function () {/* 组件创建完成之后自动触发【此时组件的对象已创建但还未将页面先关的DOM创建并显示在页面上】- 可以去操作组件对象例如this.courseList [11,22,33]- 不可以去操作DOM例如document.getElementById 未创建*/axios({method: get,url: https://api.luffycity.com/api/v1/course/actual/?limit5offset0,headers: {Content-Type: application/json}}).then((res) {this.courseList res.data.data.result;})},mounted: function () {/* DOM对象已在页面上生成此时就可以 */},template: div classcourse-listdiv classitem v-foritem in courseListrouter-link :to{name:Detail,params:{id:item.id}}img :srcitem.cover alta{{item.name}}/a/router-link/div/div}const News {data: function () {return {dataList: []}},created: function () {/* 组件创建完成之后自动触发【此时组件的对象已创建但还未将页面先关的DOM创建并显示在页面上】- 可以去操作组件对象例如this.courseList [11,22,33]- 不可以去操作DOM例如document.getElementById 未创建*/axios({method: get,url: https://api.luffycity.com/api/v1/course/actual/?limit5offset10,headers: {Content-Type: application/json}}).then((res) {this.dataList res.data.data.result;})},template: ulli v-foritem in dataList{{item.name}}/li/ul}const Detail {data: function () {return {title: 详细页面,courseId: null}},created: function () {this.courseId this.$route.params.id;// 此处可以根据课程ID发送ajax请求获取课程详细信息},template: divh2课程详细页面/h2div当前课程ID为{{courseId}}/div/div}const router new VueRouter({routes: [{path: /, component: Home},{path: /home, component: Home},{path: /course, component: Course},{path: /news, component: News},{path: /detail/:id, component: Detail, name: Detail}],//mode: history})var app new Vue({el: #app,data: {},methods: {},router: router}) /script /body /html 三、案例存在无法刷新问题 上述编写案例是没有问题但如果在开发中会涉及到 同一个路由的跳转默认不会重新加载页面数据无法获取。 例如在详细页面再出现一个课程推荐即在课程详细点击推荐的课程后跳转到课程详细页面课程ID不同此时课程的ID还是原来加载的ID无法获取推荐课程的ID。 如何解决呢 在课程详细的组件中设置watch属性即可watch会监测$route 值一旦发生变化就执行相应的函数。 const Detail {data: function () {return {title: 详细页面,courseId: null,}},created: function () {this.courseId this.$route.params.id;this.getCourseDetail();},watch: {$route:function(to, from) {this.courseId to.params.id;// this.getCourseDetail();}},methods: {getCourseDetail: function () {// 根据this.courseId获取课程详细信息}},template: divh2{{title}}/h2div当前请求的数据 {{paramDict}} {{queryDict}}/div/div } !DOCTYPE html html langen headmeta charsetUTF-8titleTitle/titlestylebody {margin: 0;}.container {width: 1100px;margin: 0 auto;}.menu {height: 48px;background-color: #499ef3;line-height: 48px;}.menu a {color: white;text-decoration: none;padding: 0 10px;}.course-list {display: flex;flex-wrap: wrap;justify-content: flex-start;}.course-list .item {width: 248px;padding: 10px;border: 1px solid #dddddd;margin-right: 5px;margin-top: 10px;}.course-list .item img {width: 100%;height: 120px;}/stylescript src./js/vue.min.js/scriptscript src./js/vue-router.js/scriptscript src./js/axios.min.js/script /head body div idappdiv classmenudiv classcontainerrouter-link to/路飞学城/router-linkrouter-link to/home首页/router-linkrouter-link to/course课程/router-linkrouter-link to/news资讯/router-link/div/divdiv classcontainerrouter-view/router-view/div/divscriptconst Home {data: function () {return {title: 欢迎使用路飞学城}},template: h2{{title}}/h2}const Course {data: function () {return {courseList: []}},created: function () {/* 组件创建完成之后自动触发【此时组件的对象已创建但还未将页面先关的DOM创建并显示在页面上】- 可以去操作组件对象例如this.courseList [11,22,33]- 不可以去操作DOM例如document.getElementById 未创建*/axios({method: get,url: https://api.luffycity.com/api/v1/course/actual/?limit5offset0,headers: {Content-Type: application/json}}).then((res) {this.courseList res.data.data.result;})},mounted: function () {/* DOM对象已在页面上生成此时就可以 */},template: div classcourse-listdiv classitem v-foritem in courseListrouter-link :to{name:Detail,params:{id:item.id}}img :srcitem.cover alta{{item.name}}/a/router-link/div/div}const News {data: function () {return {dataList: []}},created: function () {/* 组件创建完成之后自动触发【此时组件的对象已创建但还未将页面先关的DOM创建并显示在页面上】- 可以去操作组件对象例如this.courseList [11,22,33]- 不可以去操作DOM例如document.getElementById 未创建*/axios({method: get,url: https://api.luffycity.com/api/v1/course/actual/?limit5offset10,headers: {Content-Type: application/json}}).then((res) {this.dataList res.data.data.result;})},template: ulli v-foritem in dataList{{item.name}}/li/ul}const Detail {data: function () {return {title: 详细页面,courseId: null,hotCourseList: [{id: 1000, title: python全栈开发},{id: 2000, title: 异步编程},],}},created: function () {this.courseId this.$route.params.id;// 此处可以根据课程ID发送ajax请求获取课程详细信息this.getCourseDetail();},watch: {$route: function (to, from) {this.courseId to.params.id;this.getCourseDetail();}},methods: {getCourseDetail: function () {// 根据this.courseId获取课程详细信息}},template: divh2课程详细页面/h2div当前课程ID为{{courseId}}/divh3课程推荐/h3ulli v-foritem in hotCourseListrouter-link :to{name:Detail, params:{id:item.id}}{{item.title}}/router-link/li/ul/div}const router new VueRouter({routes: [{path: /, component: Home},{path: /home, component: Home},{path: /course, component: Course},{path: /news, component: News},{path: /detail:id, component: Detail, name: Detail}],//mode: history})var app new Vue({el: #app,data: {},methods: {},router: router}) /script /body /html
http://www.hkea.cn/news/14370265/

相关文章:

  • 内链好的网站个人博客页面
  • 观澜网站建设公司河北定制网站建设产业
  • 郑州网站建设公司咨询如何在网站上显示百度权重
  • 网站建设什么服务器好百度seo是什么
  • 发布做网站需求qq群适合企业网站的cms
  • 程序员做外包怎么样漳州seo建站
  • 个人网站注册流程网站开发的项目背景
  • 风景区介绍网站建设市场分析哪里建个人网站好
  • 珠海网站品牌设计公司哪家好黑龙江省建设厅网站
  • 宁波做公司网站公司wordpress网站如何提速
  • 2017网站趋势wordpress网页文件太多
  • 易物网网站建设管理长春网站建设推广
  • 网站右侧浮动开发一个大型网站需要多少钱
  • 建公司网站设计网站公司企业咨询管理收费标准
  • 网站建设加盟代理免费空间使用指南
  • 南宁网站建设_seo优化服务公司扬中黄子来
  • 上海长宁网站建设wordpress建商城
  • 赣州火车站找服务html网页制作用什么软件
  • 建什么网站可以赚钱wordpress安装完怎么用
  • 建设网站用什么软件排版网站建设人才有哪些
  • 部门网站建设注意事项收录情况
  • 内设网站vpn免流网站建设
  • 描述建设一个网站的基本步骤西安做网站陕西必达
  • 东莞企业自助建站系统官网网站建设研究
  • 文山网站建设哪家好兽装定制工作室
  • 云开发网站域名可以自己注册吗
  • 如何在网站上推广自己的产品广州营销网站建设公司
  • 建设网站建设网页制作0402高设计词凡科互联网科技股份有限公司
  • 桂林企业网站建设注册个app要多少钱
  • 济南正规做网站公司中国纪检监察报数字报