深圳公司设计网站外贸电商平台都有哪些

news/2025/9/24 22:04:02/文章来源:
深圳公司设计网站,外贸电商平台都有哪些,怎么做网站界面分析,处方药可以做网站宣传吗前端路由 问题导入 在前面完成的资产管理案例中#xff0c; 我们是把列表区域和添加表单区域实现在了一个区域。当页面功能比较复杂时#xff0c;我们需要它们拆分开来#xff1a;一个页面中只显示一个区域。 一个比较直观的解决方案是把它们分别做成两个独立的网页文件 我们是把列表区域和添加表单区域实现在了一个区域。当页面功能比较复杂时我们需要它们拆分开来一个页面中只显示一个区域。 一个比较直观的解决方案是把它们分别做成两个独立的网页文件例如 文件一 xxxx/index.html 显示表格区区域 文件二xxxx/add.html显示表单区域 然后添加一个导航条来允许用户进行跳转。 这种解决方案比较直接了当但它存在一些问题 从一个页面跳入另一个页面需要重新加载公共的资源文件造成浪费。例如index.html中需要用到axios.js在add.html中也需要用到。页面的跳入跳出给用户的体验也不好特别地是在移动端。 那有没有一种方案在不进行页面跳转的前提下能根据地址栏中的地址不同来显示不同的内容 有这就是前端路由技术。 前端路由 根据地址栏变化不发请求去局部更新不同的页面内容。 前端业务场景切换。 模拟实现原理 !DOCTYPE html html langen headmeta charsetUTF-8meta nameviewport contentwidthdevice-width, initial-scale1.0titleDocument/title /head bodydivnav!-- #:在地址栏有两个含义- 锚点链接在页面内部进行导航不会有页面跳转。- hash。在前端路由技术中我们叫它哈希值。它不会有页面跳转地址栏变化的浏览器中后退前进也是可用的http://127.0.0.1:5500/index.html#/add --a href#/主页/aa href#/add添加/a/navdiv idcontent!-- // 模拟不同的地址栏中的hash值显示不同的内容 --/div/divscript// 实现前端路由效果// - 地址栏变化页面内容变化不刷新// 1. 如何监听地址栏中hash值的变化// 答在window上添加hashchange监听// 2. 如何获取当前地址栏中的hash值// 答location.hashwindow.addEventListener(hashchange, onHashChange)// 当页面中的dom加载完成就去执行window.addEventListener(DOMContentLoaded,function() {onHashChange()})function onHashChange (e) {console.log(hash值的变了)console.log(e)// 根据不同的hash值显示不同的内容到content区域switch (location.hash) {case #/: // 主页document.getElementById(content).innerHTML 这里主页的内容break;case #/add: // adddocument.getElementById(content).innerHTML 这里是add的内容break;default:document.getElementById(content).innerHTML 404没有这个页面break;}// if elseif ,elseif ......}/script /body /html技术要点 地址url 中看到 #这个 # 有两种情况一个是我们所谓的锚点比如典型的回到顶部按钮原理、Github 上各个标题之间的跳转等路由里的 # 不叫锚点我们称之为 hash。地址栏中hash的变化是不会发生页面跳转的hashchange 事件用来监听hash值的变化。hash的改变也会记录到浏览历史中通过回退和前进可以切换业务场景 SPA 单页面应用程序简称SPAsingle page application一个系统上的所有功能在一个页面上实现。 (在移动端比较多) SPA是通过前端路由实现业务场景的切换的。 在vue框架中额外引入vue-router插件来配合组件系统就可以轻易地实现。 在单页面应用程序中如何切换页面的业务场景。 http://zhoushugang.gitee.io/hm-toutiao-pc-93/https://music.163.com/ 优点 整体不刷新页面用户体验更好。 缺点 首次加载会比较慢一点。 vue-router-使用步骤 vue-router是vue的一个插件当我们的项目需要前端路由时我们要先把它下载引入到页面中。 下载 https://cdn.bootcss.com/vue-router/3.1.3/vue-router.min.js 导入插件 # 先下载到本地再引用 script src./vue-router.min.js/script # 直接引用 script srchttps://cdn.bootcss.com/vue-router/3.1.3/vue-router.min.js/script初始化vue-router插件 用VueRouter构造器创建路由实例并配置路由规则。 基本格式 const router new VueRouter({routes: [{path:路径1,component:要展示的组件1},{path:路径2,component:要展示的组件2},.....] })示例 vue-router中有一套约定的规则用来确定在哪个url下显示哪个组件。 // 初始化vue-router且使用刚定义的路由规则 const router new VueRouter({// 初始化路由的配置对象// 有以一个配置项 routes 定义路由规则routes:[{path: /, component: {template:div我是主页/div}},{path: /news, component: {template:div新闻-生活早知道/div}},{path: /sport, component: {template:div体育-体育改变人生/div} }] })使用路由实例 在vue构造器中有一项是router它专门用来设置路由对象 new Vue({el: #app,// vue提供了一个配置选项router选项是用来挂载路由实例的// 只有挂载了 router 实例 才可使用路由的功能router:路由对象 })设置路由出口 在vue的模板添加一个router-view组件用它来指定当前路由对应组件渲染的位置。 !-- 渲染路由对应的组件 router-view承载路由对应的组件的-- router-view/router-view测试使用 请直接在地址栏中补充对应的路由地址来查看路由效果。 路由链接导航 通过router-link来进行路由跳转。 !-- 写路由链接 不会使用a标签 使用router-link组件 -- nav!-- 组件默认解析的是a标签 to属性跳转的地址不需要带上# --router-link to/主页/router-linkrouter-link to/news新闻/router-linkrouter-link to/sports运动/router-link /navrouter-link组件会被vue解析成a标签但不能直接通过a标签来跳转。如果当前路由被激活会添加特殊的类名 router-link-exact-active router-link-active动态路由 目标实现新闻详情的功能即不同的新闻使用同一个组件但要传入不同的参数。 概念不同的路由地址指向同一个组件此时需要使用动态路由。 示图 代码 !DOCTYPE html html langen headmeta charsetUTF-8meta nameviewport contentwidthdevice-width, initial-scale1.0titleDocument/titlestyle.router-link-exact-active{color:red;padding:0 5px;}/style /head bodydiv idapph3动态路由/h3router-link to/detail/100编号为100的新闻/router-linkrouter-link to/detail/101编号为101的新闻/router-linkrouter-link to/detail/102编号为102的新闻/router-linkrouter-link to/detail/103编号为103的新闻/router-linkrouter-view/router-view/divscript srchttps://unpkg.com/vue/dist/vue.js/scriptscript srchttps://unpkg.com/vue-router/dist/vue-router.js/scriptscript// 动态路由// -- 同一个组件根据传入参数不同显示不同的内容。// 例如大事件项目前中的新闻详情页。// localhost:3000/index.html#/detail/100 ---- 显示编号为100的新闻// localhost:3000/index.html#/detail/101 ---- 显示编号为101的新闻// 1. 定义路由规则// path:/detail/:形参名// 2. 跳转 to:/detail/实参// 3. 在组件中获取当前的参数值// this.$route.params.形参// - $route 引入了vueRouter插件之后 vue组件内部通过 $route 就可以直接来访问当前的组件对象// - $route这个对象有很多属性params用来保存当前传入动态路由的参数值const myrouter new VueRouter({routes: [// path是hash值component是组件就是显示的内容{path: /,component:{template: div我是主页!!!!!/div}},// /detail/:id 可以匹配类似于 /detail/XXXXX 的路径{path:/detail/:id123,component:{template: divh1新闻详情页-{{$route.params.id123}}/h1button clickh1点击/button/div,methods: {h1 () {console.log( this.$route.params.id123)}}}},{path: *,component:{template: div你要访问的页面不存在404/div}},]})new Vue({el: #app,data:{},methods:{},router: myrouter// 用来设置路由对象 })/script /body /html总结 在路由规则中匹配到不同的地址指向同一个组件代码{path:/detail/:id, component: detail}数据模板 {{$route.params.id}} 组件 this.$route.params.id 页面跳转及传参 从页面pageA跳转到pageB ,并携带参数 跳转有两种方式 通过router-link的to属性跳转通过$router.push()方法来跳转 传参有两种方式: 查询传参 /aricle?id1001路径传参 /article/1001 获取传参数的方式: 根据传参不同获取参数也不同 - 查询传参 this.$route.query.id - 路径传参this.$route.params.id声明式导航 通过router-link组件的属性to来声明它的跳转后的路由地址。 不带参数的跳转 普通字符串不带参数。 router-link to/list/router-link对象普通跳转不带参数 router-link :to{path:/list}/router-link带参数的跳转 普通字符串进行带参数的跳转。 !-- 路径传参 路由规则{path:/article/:id}-- router-link to/article/10001/router-link!-- 查询传参 路由规则{path:/article}-- router-link to/article?id10001/router-link对象路径传参 !--路径传参 路由规则{path:/article/:id,name:article,component:Article}] ---router-link :to{name:article,params:{id: 10001}}/router-link !-- /article/10001 --对象查询传参 !--路径传参 路由规则 {path:/article,component:ArticleItem} -- router-link :to{path:/article,query:{id: 10001}}/router-link !-- /article?id10001 --代码 div idapp!-- 各种router-link写法 --!-- 字符串 --router-link to/list文章列表/router-linkrouter-link to/article/10001文章详情/router-linkrouter-link to/item?id10001文章详情/router-linkhr!-- 对象 --router-link :to{path:/list}文章列表/router-linkrouter-link :to{name:article,params:{id:10001}}文章列表/router-linkrouter-link :to{path:/item,query:{id:10001}}文章列表/router-link!-- 显示路由对应组件容器 --router-view/router-view/divscript src./vue.js/scriptscript src./vue-router.min.js/scriptscript// routes 指定路由规则数组const router new VueRouter({ routes:[{path: /list, component: {template: div列表组件/div}},{path: /article/:id, name: article,component: {template: divarticle文章详情组件 {{$route.params.id}}/div}},{path: /item, component: {template: divitem文章详情组件 {{$route.query.id}}/div}}] })new Vue({el: #app,router})/script总结对象方式的两种传参怎么取值。 :to{name:article,params:{id:10001}} $route.params.id 解析后/article/10001 :to{path:/item,query:{id:10001}} $route.query.id 解析后/item?id10001 编程式导航 通过 js代码调用一个导航函数(this.$router.push)进行跳转。 场景 在界面上有确切的跳转链接使用声明式导航。当你在执行一个js逻辑的时候你想进行跳转此时使用编程式导航。 在做登录的时候登录成功后才应该跳转到首页。 格式 // 字符串 this.$router.push(/home)// 对象 this.$router.push({ path: home })// 命名的路由 // 路径传参 this.$router.push({ name: user, params: { userId: 123 }})// 查询参数变成 /register?planprivate this.$router.push({ path: register, query: { plan: private }})代码 div idapp!-- 声明式导航 --router-link to/login登录页面/router-link!-- 显示路由对应组件容器 --router-view/router-view/divscript src./vue.js/scriptscript src./vue-router.min.js/scriptscriptconst router new VueRouter({ // routes 指定路由规则数组routes:[{path: /login,component: {template: divinput typetext placeholder用户名input typepassword placeholder密码button clicklogin登录/button/div,methods: {login () {// 进行登录// 假设登录成功了// 跳转到首页// 只能通过js的方式进行跳转编程式导航// vue实例提供了一个对象 $router // $router就是路由实例提供一个函数 push可以进行跳转this.$router.push(/home)}}}},{path: /home,component: {template: div首页/div}}] })new Vue({el: #app,router})/script总结 js代码执行的导航跳转就是编程式导航 this.$router.push(/home)to属性解析过执行的跳转依赖的代码其实就是编程式导航代码。router-link的to属性能使用的传参方式在编程式导航中都可以使用。 // 路径传参 this.$router.push({name:article,params:{id:10001}}) // 键值对传参 this.$router.push({path:/item,query:{id:10001}})路由重定向 重定向 当你访问某个地址的时候经过程序的处理用户看不见跳转到了另外一个地址。 前端的路由使用使用重定向功能假设一个业务场景 当你访问页面的时候默认hash地址是 #/ 默认的路由地址 /此时我们项目的首页 /home ,所以当我们访问/重定向到/home才能默认访问首页。 代码 !-- 根容器 --div idapprouter-view/router-view/divscript src./vue.js/scriptscript src./vue-router.min.js/scriptscriptconst router new VueRouter({ // routes 指定路由规则数组routes:[// 匹配 / 路径重定向 到 /home 即可{path: /, redirect: /home},// 首页路由规则{path: /home,component: {template: div首页页面内容/div}}] })new Vue({el: #app,router})/script总结 路由规则对象中 提供了一个选项redirect 配置重定向的地址即可。 路由嵌套 原理router-view中再次包含router-view。 背景一个组件内部包含的业务还是很复杂需要再次进行拆分。 格式 routes:[{path: /sport, component: {template:divrouter-view/router-view/div},children: [path:/xx1,]} ]示例 总结 在已有的路由容器中再实现一套路由再套一个路由容器叫嵌套路由。 代码 !DOCTYPE html html langzhheadmeta charsetUTF-8 /meta nameviewport contentwidthdevice-width, initial-scale1.0 /titleDocument/titlestylebody {background-color: #eee;}nav {border:1px solid #ccc;padding:1em;margin:5px;}#app {background-color: #fff;width: 500px;margin: 50px auto;box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.5);padding: 2em;}.box {padding: 1em;border: 1px solid #ccc;margin: 1em;}.router-link-active{}.router-link-exact-active {color:red;}/style /headbodydiv idappnav!-- 通过router-link来跳转页面如果是当前页则会添加 .router-link-exact-active .router-link-active 类 --router-link to/主页/router-linkrouter-link to/news新闻/router-linkrouter-link to/sport体育/router-link/nav!-- 一级路由容器 --router-view/router-view/divscript srchttps://cdn.bootcdn.net/ajax/libs/vue/2.6.11/vue.js/scriptscript srchttps://cdn.bootcdn.net/ajax/libs/vue-router/3.1.3/vue-router.js/scriptscriptconst sports {template:divh3体育-体育改变人生/h3router-link to/sport主页/router-linkrouter-link to/sport/guonei国内/router-linkrouter-link to/sport/guowai国外/router-linkrouter-view/router-view/div}// 初始化vue-router且使用刚定义的路由规则const router new VueRouter({// 初始化路由的配置对象// 有以一个配置项 routes 定义路由规则routes:[{path: /, component: {template:div我是主页/div}},{path: /news, component: {template:div新闻-生活早知道/div}},{path: /sport, component: sports,children: [ {path: , // 二级路由的默认显示内容component: {template:divh4体育栏目的主页/h4/div}},{path: guonei,component: {template:divh4国内体育新闻/h4/div}},{path: guowai,component: {template:divh4国外体育新闻/h4/div}}]},{path: /detail/:id, component: {template:div我是新闻详情页{{$route.params.id}}/div}}]})new Vue({el: #app,router})/script /body/html总结 嵌套路由除了 router-view 之间需要嵌套路由规则也需要通过children来实现嵌套。 children: [ {path: , // 二级路由的默认显示内容component: {template:divh4体育栏目的主页/h4/div}},{path: guonei,component: {template:divh4国内体育新闻/h4/div}},{path: guowai,component: {template:divh4国外体育新闻/h4/div}}]},{path: /detail/:id, component: {template:div我是新闻详情页{{$route.params.id}}/div}}]}) new Vue({ el: ‘#app’, router }) 总结 嵌套路由除了 router-view 之间需要嵌套路由规则也需要通过children来实现嵌套。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/916306.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

360网站怎么做ppt注册公司代理公司

智慧宇易精挑细选2020年5933篇不能仅仅为了支持IPv6而使用IPv6,如何利用IPv6解决现实问题尤其重要。创新网络服务、应用服务、数据服务,可能是发展IPv6最重要的一个策略。11月15日,在第二届中国互联网基础资源大会上,IPv6被多位专…

餐饮连锁网站建设如何推广品牌

查询性能优化 文章目录 查询性能优化一、查询优化器的提示(hint)二、优化特定类型的查询 一、查询优化器的提示(hint) HIGH_PRIORITY和LOW_PRIORITY 这个提示告诉MySQL,当多个语句同时访问某一个表时,哪些语句的优先级相对高些,哪些相对低些…

Atcoder Educational DP Contest 做题记录

E 思路 \(W\) 大范围,\(SumV\) 小范围的背包,令 \(f[i]\) 表示价值为 \(i\) 时最小容量,转移方程:\(f[j]=\min(f[j],f[j-v[i]]+w[i])\) 。

网站无法上传图片使用cn域名做网站的多吗

正则表达式中的量词有以下几种:1. *: 匹配前面的字符0次或多次。2. : 匹配前面的字符1次或多次。3.?: 匹配前面的字符0次或1次。4. {n}: 匹配前面的字符恰好n次。5. {n,}: 匹配前面的字符至少n次。6. {n,m}:匹配前面的字符至少n次,但不超过m次。 以下是使用Python的…

20250924

上午离散数学啃完集合的幂集与笛卡尔积,把空集是任何集合的子集这条想通了; 马原课讨论“实践是认识的来源”。 明天周4,上午有课但8点要查宿舍卫生,得清理干净,早点起床拖地,希望一次过关,不被扣分。

跨端边云时序数据管理新范式:Apache IoTDB 的 DB+AI 融合之道 - 实践

跨端边云时序数据管理新范式:Apache IoTDB 的 DB+AI 融合之道 - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: &q…

《Real-Time Rendering》第二章 图形渲染管线

开篇这个章节会展示实时图形的核心组件,即图形渲染管线(Graphics Rendering Pipeline)或“管线”。管线的主要功能是在给定一个虚拟相机、一些三维物体、一些光源等条件下,生成或绘制一张二维图像,下图描述了使用…

vue可以做pc网站吗flash做安卓游戏下载网站

往期回顾: 抓包工具mitmproxy环境配置使用(一) 抓包工具mitmproxy | mitmweb基本用法(二) mitmproxy抓包 | Python实时生成接口自动化用例(三) mitmproxy抓包 | Python实时生成接口自动化用例 mitmproxy抓包 | Python疑难测试场景mock实战(四) mitmproxy抓包 | Python…

太仓网站开发常德制作网站

总况1、数据库构成  全国1:25万数据库,是国家基础地理信息系统三个全国性空间数据库之一。它由地形数据库、数字高程模型(DEM)数据库、地名数据库三部分构成。地形数据库:以矢量方式存储管理1:25万地形图…

放弃Unity后,我为什么选择了Unigine?

Unity一直在搞事相信大家都知道,特别是unity.cn,之前都还在我的容忍范围之内,直到上半年他们事实性的宣布不会支持Unity 6之后,我就决定换引擎了。 至于换哪个引擎着实挑选了一段不短的时间(实际上我“物色”引擎…

怎么让百度蜘蛛围着网站爬取wordpress评论白名单

GitHub repository - Watch - Star - Fork - Follow References 眼睛图标旁边写着 Watch 字样。点击这个按钮就可以 Watch 该仓库,今后该仓库的更新信息会显示在用户的公开活动中。Star 旁边的数字表示给这个仓库添加 Star 的人数。这个数越高,代表该仓库…

PHP 与 Java 的终极对比:2025年,开发者该如何选择? - 详解

PHP 与 Java 的终极对比:2025年,开发者该如何选择? - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Cons…

银行同业存单的信用等级

银行同业存单的信用等级在“中证同业存单AAA指数”这个名称中,“AAA”指的是信用评级,代表了最高级别的信用等级。1. 通俗理解:资产的“质检标签”您可以把信用评级想象成一个 “质检标签”。AAA:相当于成绩单上的…

企业网站建设板块网站验证码代码

JavaWeb 学习笔记 8:AJAX AJAX(Asynchronous JavaScript And XML,异步 js 和 XML)是一种用 js 代码异步(或同步)的方式请求服务端数据,并在页面显示或加载的技术。 1.快速入门 先看如何用纯 …

虚拟网站管理系统做网站编辑累吗

本文实例为大家分享了python实现石头剪刀布的具体代码,供大家参考,具体内容如下 概述: 如果你和我一样是一个有着其他语言基础的编程者,那我想这个小程序对于你来说是小case。由于本人初学Python,就先拿这个熟悉熟悉一…

途牛旅行网站建设策划书wordpress水印

说明:本篇博客基于selenium 4.1.0 selenium-css定位 element_css driver.find_element(By.CSS_SELECTOR, css表达式) 复制代码 css定位说明 selenium中的css定位,实际是通过css选择器来定位到具体元素,css选择器来自于css语法 css定位优点…

科技信息差(9.22) - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

软件技术基础第一次作业

这个作业属于哪个课程 https://edu.cnblogs.com/campus/zjlg/25rjjc这个作业的目标 做自我介绍,对自己有一个初步的认知,进行自我评估,找到学习目标姓名-学号 刘倩妤-20233293010021.自我介绍与自我评估 自我介绍 我…

2025XDOJ个人题解——写在前面

本人是25级计科学生,想要写XDOJ的题单博客以供自己学习和大家交流用,同时也便于使用XDOJ的初学者们学习,大家可在评论里面交流相关内容。其中解题过程并非规范,如果路人大佬看到还请包容。 题目是XDOJ上老师布置的…