• 前端面试题:1.B/S架构和C/S架构;2定义vue-router的动态路由



    讲一下B/S架构和C/S架构的区别是什么

    B/S: B是英文单词Browser的首字母,即浏览器的意思; S是英文单词Server的首字母,即服务器的意思。B/S就是Browser/Server的缩写,即浏
    览器/服务器模式。
    这种模式统一了客户端,让核心的业务处理在服务端完成.只要在电脑或手机上安装浏览器,就可以通过web Server与数据库进行数据交互了

    CS:C是英文单词Client首字母,即客户端的意思,C/S就是"Client/Server"的缩写,即"客户端/服务器"模式,主要用于局域网内。
    它是一种软件系统体系结构,它是将需要处理的的
    业务合理的分配到客户端和服务器端,这样可以降低通信成本,但是升级相对困难,就像我们手机中安装的微信,qq,王者农药等应用程序都是C/S结构的。
    C/S架构软件有一个特点,就是如果用户要使用的话,要下载一个客户端,安装后就可以使用

    区别:
    1.硬件环境不同.C/S通常是建立在专用的网络上,小范围的网络环境,而B/S是建立在广域网.上的,适应范围强,通常有操作系统和浏览器就行。
    2.C/S比B/S结构更安全,因为用户群相对固定,对信息的保护更强。
    3.B/S结构维护升级比较简单,而C/s结构维护升级相对困难。

    4、怎么定义vue-router的动态路由?怎么获取传过来的动态参数?

    在路由path上配置动态参数,在前往的路由页面使用this.$route. .params截取携带过来的路由参数。

    一.字符串写法
    1.query参数

    this.$router.push("/login/?k=1")
    //跳转后的页面通过$route.query.k接收
    
    • 1
    • 2

    2 params参数

    this.$router.push("/login/" +this.keyword)
    path: '/search/:keyword”
    4 | //通过$ route.params.keyword接收
    
    • 1
    • 2
    • 3

    二对象写法
    1.query参数

    this.$router.push( {name : "login" , query: {keyword:this .keyword}})
    //注意query传参对象写法必须给路由组件命名(加name属性)
    
    • 1
    • 2

    2 params参数

    this.$router.push({name:"login" ,params ; {keywo rd :this .keyword}}
    //注意params传参对象写法必须给路由组件命名(加name属性)
    
    • 1
    • 2

    三指定params参数可传可不传
    1.在占位后面加个问号,就不会出现路径有问题

    path: '/search/:keyword? '
    
    • 1

    2.如果传递的是空字符串,可以用undefined解决

    this.srouter.push({
    	name: "login" , 
    	params:{ikeyword:this .keyword| lundefined}
    })
    
    • 1
    • 2
    • 3
    • 4
  • 相关阅读:
    【C语言刷题】合并两个有序链表&反转链表
    14.FreeRTOS 消息缓存 Message Buffer
    军品与民品的区别
    RISCV学习笔记7.10(开源虚拟机篇)--AlmaLinux虚拟机安装python与labview自动化软件
    Navisworks二次开发——根据属性值筛选出图元
    Gerrit lfs安装及配置
    2023.9.26 IO 文件操作详解
    Spring Boot配置类
    快速入门:使用 .NET Aspire 组件实现缓存
    【Unity ShaderGraph】| 给模型添加一个 边缘光效果 实战
  • 原文地址:https://blog.csdn.net/xiaolu567/article/details/126395275