若依框架二次开发之创建新路由


一、若依框架开发手册方法

若依开发手册官网网址:http://doc.ruoyi.vip/ruoyi-vue/other/faq.html#%E5%A6%82%E4%BD%95%E6%89%8B%E5%8A%A8%E9%85%8D%E7%BD%AE%E8%B7%AF%E7%94%B1%E4%BC%A0%E5%8F%82

Vue设置路由跳转的两种方法

一、路由跳转router.push

// 字符串
router.push('apple')
// 对象
router.push({path:'apple'})
// 命名路由
router.push({name: 'applename'})
//直接路由带查询参数query,地址栏变成 /apple?color=red
router.push({path: 'apple', query: {color: 'red' }})
// 命名路由带查询参数query,地址栏变成/apple?color=red
router.push({name: 'applename', query: {color: 'red' }})
//直接路由带路由参数params,params 不生效,如果提供了 path,params 会被忽略
router.push({path:'applename', params:{ color: 'red' }})
// 命名路由带路由参数params,地址栏是/apple/red
router.push({name:'applename', params:{ color: 'red' }})
// 其他方式
this.$router.push({ path: "/system/user" });

二、动态赋值,to里的值可以是一个字符串路径,或者一个描述地址的对象。例如:

// 字符串
<router-link to="apple"> to apple</router-link>
// 对象
<router-link :to="{path:'apple'}"> to apple</router-link>
// 命名路由
<router-link :to="{name: 'applename'}"> to apple</router-link>
//直接路由带查询参数query,地址栏变成 /apple?color=red
<router-link :to="{path: 'apple', query: {color: 'red' }}"> to apple</router-link>
// 命名路由带查询参数query,地址栏变成/apple?color=red
<router-link :to="{name: 'applename', query: {color: 'red' }}"> to apple</router-link>
//直接路由带路由参数params,params 不生效,如果提供了 path,params 会被忽略
<router-link :to="{path: 'apple', params: { color: 'red' }}"> to apple</router-link>
// 命名路由带路由参数params,地址栏是/apple/red
<router-link :to="{name: 'applename', params: { color: 'red' }}"> to apple</router-link>
// 其他方式
<router-link :to="'/system/user/' + scope.row.userId" class="link-type">
  <span>{{ scope.row.userId }}</span>
</router-link>

如何手动配置路由传参

第一种:使用path来匹配路由,然后通过query来传递参数,这种情况下query传递的参数会显示在url后面会跟?id=

this.$router.push({
    path: '/user/profile',
    query: {
      id: id
    }
})

获取参数方式:this.$route.query.id

第二种:使用name来匹配路由,使用params传参,可以在路由的path里加参数。

this.$router.push({
    name: 'UserProfile',
    params: {
      id: id
    }
})

获取参数方式:this.$route.params.id

第三种:直接让路由携带参数跳转

this.$router.push({
  path: '/user/profile/:id(\\d+)'
})

获取参数方式:this.$route.params.id

如何菜单配置路由传参

在菜单管理中选择菜单类型为菜单,填写对应的路由参数,如:{"id": 1, "name": "ry"}
在自己的组件中获取参数方式:this.$route.query.id,this.$route.query.name
外链可以通过原生方式设置,例如:http://ruoyi.vip?id=1&name=ry

二、我的实践

在views新建vue文件

如下右键新建component,取名showarticle
在这里插入图片描述

在router/index.js注册路由

在这里插入图片描述
在这里插入图片描述
代码如下:
path是路由路径,component是组件文件路径。这样就可以通过跳转路由路径访问了。

{
    //自己添加的公开路由页面,不要添加在动态路由中!
    path: '/article/studentarticle/showarticle',
    component: () => import('@/views/article/studentarticle/showarticle'),
    name: showarticle,
    hidden: true,
  },
  • 14
    点赞
  • 63
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 9
    评论
# 单页面和多页面开发及应用 # 单页面: - 什么是单页面:单页面是指只有一个主页面的应用,浏览器一开始要加载所有必须的 html, js, css。所有的页面内容都包含在这个所谓的主页面中。但在写的时候,还是会分开写(页面片段),然后在交互的时候由路由程序动态载入。 - 跳转仅加载一次,用于PC和公务网站 - 页眉 -> 第一页,第二页, 第三页 -> 脚本 # 单页面技术: -AngularJS是一个全面的客户端侧框架。其模板基于双向UI数据绑定。数据绑定是一种自动方法,在模型改变时更视图,以及在视图改变时更模型。其HTML模板在浏览器中编译。编译步骤创建纯HTML,浏览器将其重渲染到实时视图。该步骤会在随后的页面浏览中重复。在传统的服务器端HTML编程中,控制器和模型等概念在服务器进程中进行交互以产生的HTML视图。在AngularJS框架中,控制器和模型状态在客户端的浏览器中维护,从而使生成页面不依赖与服务器的交互。 -Ember.js是基于模型-视图-控制器(MVC)软件架构模型的客户端侧JavaScript Web应用程序框架。它允许开发人员在一个框架中通过常用的习惯用语和最佳实践来创建可伸缩的单页面应用程序。该框架提供丰富的对象模型、声明性双向数据绑定、计算属性,Handlebars.js提供的自动更模板,以及一个路由器管理应用程序状态。 -Meteor.js是一个专门为单页应用设计的全栈(客户端-服务器)JavaScript框架。它具有比Angular、Ember或ReactJS更简单的数据绑定特性且使用--Distributed Data Protocol和一个发布/订阅来自动将数据更改传播到客户端,无需开发人员编写任何同步代码。全栈反应确保从数据库到模板的所有层都可以在必要时自动更。诸如服务器端渲染等生态系统包则解决搜索引擎优化(SEO)等问题。 -Aurelia是一个适用于移动设备、桌面和网页的JavaScript客户端框架。它类似AngularJS,但更、更符合标准,并采用模块化举措。Aurelia使用下一代ECMAScript编写。 -Vue.js(通常称为Vue)是一个用于构建用户界面的开源渐进式JavaScript框架。 -React(通常写为React.js或ReactJS)是一个构建用户界面的JavaScript函式庫。它由Facebook、Instagram和个人开发者以及企业社区维护。React最大的优势是易于使用——基本上任何熟悉HTML的开发人员都可以创建React应用程序。另一个所称的优势是可能使用相同的技术堆栈来同时创建Web与移动应用程序。有多家公司使用React和Redux库来让开发人员创建复杂但可扩展的Web应用程序。 -Fulcro是一个全栈库,它采用Netflix的Falcor,Facebook的Relay和Om Next对反应性,功能性,数据驱动软件进行改编的数据驱动原则。 -单页面做seo(搜索引擎优化): -根据部分进行优化为每个关键字创建一个<div>或<section>或每个关键字并为其分配一个适当的ID,该页面上的内部链接将链接至ID。 -优化页面速度对于单页网站SEO来说至关重要。 - 做了seo 以后,单页面还是单页面 # 单页面优点: -减小服务器压力。 如果不用单页面(spa),如果每次切换页面的时候,都向服务器发送一个请求,服务器返回一个html文件;但是如果使用了单页面,在切换时,不需要请求服务器,只要通过本地的js来切换即可。并且服务器端就不需要配置路由,完全做到了前后端分离 -增强用户体验,增加app的使用流畅性。 使用spa之后,页面在切换的时候非常流畅,完全没有那种不断刷的感觉,而是非常快的就有了响应,因为js运行速度很快,所以js在做本地路由的时候,就会非常快。 -单页应用没有页面之间的切换,就不会出现“白屏现象”,也不会出现假死并有“闪烁”现象。 -单页应用相对服务器压力小,服务器只用出数据就可以,不用管展示逻辑和页面合成,吞吐能力会提高几倍。 -良好的前后端分离。后端不再负责模板渲染、输出页面工作,后端API通用化,即同一套后端程序代码,不用修改就可以用于Web界面、手机、平板等多种客户端。 -单页面缺点: -首次加载耗时比较多。 解决办法:可以采用基于HTTP Chunk 的首屏数据渐进式预加载方案,该方案总体减少了单页应用1.2s的首屏呈现时间。首屏数据渐进式预加载的优化思路也得到了体现: 优化首屏数据加载节点的速度。 预先加载首屏数据,使得多个串行节点并行化。 -SEO问题,不利于百度,360等搜索引擎收录。 解决办法:可以采用prerender服务,它拿到请求够,直接在服务端的一个js engine里,运行这个HTML(就像浏览器做的那样),直到内容动态填完之后,再广播一个事件告诉phantomjs“内容已经好了,可以返回给爬虫了”,这样爬虫就拿到了一份完整的HTML,就和在浏览器里渲染完的一样。目前流行的框架都有对应的服务器渲染框架 -如有造成Css命名冲突。 解决办法:我们可以使用Sass、LESS和Stylus等CSS预处理器,在一定程度上可以解决该问题。 -前进、后退、地址栏、书签等,都需要程序进行管理,页面的复杂度很高,需要一定的技能水平和开发成本高。 # 多页面: -什么是多页面:每一次页面跳转的时候,后台服务器都会给返回一个的html文档,这种类型的网站也就是多页网站,也叫做多页应用 - 跳转需要刷所有资源,用于app 或 客户端 - 页眉 -> 第一页 -> 脚本,页眉 -> 第二页 -> 脚本,页眉 -> 第三页 -> 脚本 -多页面优点:给用户提供一个完美的视觉方向,重点是没有很多的菜单,简洁明了的SEO管理。由于可以针对每页一个关键字优化应用程序 -多页面缺点:后端和移动客户端不能同时使用,前端和后端开发紧密结合。开发变得相当复杂。开发人员需要为客户端和服务器端使用框架。这导致应用程序开发时间更长。 # 区别: -组成:单页面由一个外壳页面和多个页面组成, 多页面由多个完整页面组成 -css(资源公用):单页面为共用,只需要外壳部分加载,多页面则不共用,每个页面单独加载 -刷方式:单页面页面局部更改或刷,多页面整页刷 -url模式:单页面 a.com/#/pageone 多页面 a.com/pageone.html -用户体验:单页面页面切换快,用户体验良好,多页面加载缓慢,流畅度不够,用户体验较差 -转场动画:单页面容易实现,多页面无法实现 -数据传递:单页面容易,多页面需要依赖url传参,或cookie,localSrorage等 -搜索引擎优化:单页面需要单独方案,实现较为困难,不利于SEO搜索,可利用与SSR优化,多页面实现方法容易 -适用范围:单页面高要求的体验度,追求页面的流畅,多页面追求高度支持搜索引擎的应用 -开发成本:单页面较高,需要专业的框架,多页面较低,但页面重复代码较多 -维护成本:单页面相对容易,双页面相对复杂
### 回答1: WPF(Windows Presentation Foundation)后台框架是一种用于创建Windows应用程序的技术。二次开发指的是在现有WPF后台框架的基础上进行进一步的定制和扩展。 在进行WPF后台框架的二次开发时,我们可以通过以下几个步骤进行: 首先,了解原有WPF后台框架的结构和功能。这包括学习WPF的基本概念和技术,了解其组件和布局,以及熟悉其数据绑定和命令机制等。这将帮助我们理解后台框架的架构和工作原理。 其次,确定二次开发的目标和需求。根据自己的业务需求,确定要添加、修改或删除哪些功能。这可能涉及界面的布局调整、增控件或修改现有控件的行为,以及增强数据处理和业务逻辑等。 然后,进行具体的开发工作。可以使用Visual Studio等工具,利用C#或其他 .NET 相关语言进行编码。根据需求,可以使用WPF提供的控件、布局和样式等进行界面设计,同时也可以使用MVVM(Model-View-ViewModel)或其他设计模式来组织代码。 在开发过程中,要注意遵循良好的编码规范和设计原则,确保代码结构清晰、可扩展和易于维护。同时,也要进行必要的测试和调试工作,以确保二次开发后的框架在功能和性能上符合预期。 最后,进行部署和发布。根据具体情况,可能需要将二次开发后的框架打包成DLL或其他可执行文件,并将其集成到相应的应用程序中。 总之,WPF后台框架的二次开发可以帮助我们更好地满足业务需求,提供定制化的界面和功能。通过充分利用WPF的特性和工具,我们可以快速有效地进行开发,提升应用程序的用户体验和功能扩展性。 ### 回答2: WPF(Windows Presentation Foundation)是一个用于创建Windows桌面应用程序的框架。它提供了一种基于XAML(可扩展应用程序标记语言)的方式来构建用户界面。WPF的后台框架二次开发是指基于WPF框架进行进一步定制和扩展以满足特定需求的开发过程。 在WPF后台框架二次开发中,可以通过以下几个方面来实现定制和扩展: 1. 创建自定义控件:WPF提供了一种称为UserControl的机制,可以通过组合现有控件来创建自定义控件。这样可以根据特定需求来定制控件的外观和行为。 2. 扩展现有控件:WPF提供了一种称为CustomControl的机制,可以派生自现有的控件,并添加的功能或修改现有功能。这样可以根据特定需求来扩展现有控件的能力。 3. 自定义数据绑定:WPF的数据绑定机制非常灵活,可以通过创建自定义的绑定类来实现特定的数据绑定逻辑。这样可以根据特定需求来处理数据的绑定和转换。 4. 修改样式和主题:WPF的样式和主题机制使得修改应用程序的外观变得容易。可以通过创建自定义样式和主题文件来修改控件的外观,以及整个应用程序的风格。 5. 扩展路由事件和命令:WPF的路由事件和命令机制可以实现控件之间的通信和交互。可以通过扩展路由事件和命令来实现特定的交互逻辑。 通过以上这些方式,可以对WPF框架进行二次开发,定制和扩展应用程序的外观和行为,以满足特定需求。在进行WPF后台框架二次开发时,需要对WPF框架的原理和机制有一定的了解,并具备良好的编程能力和问题解决能力。 ### 回答3: WPF(Windows Presentation Foundation)是一种用于创建Windows桌面应用程序的框架,它提供了丰富的图形渲染、布局、数据绑定和动画等功能。WPF后台框架的二次开发指的是在已有的WPF框架基础上进行定制化的开发。 通过二次开发WPF后台框架,可以满足特定需求、增加特定功能以及提升用户体验。具体而言,二次开发可以包括以下几个方面的工作: 1. UI定制:可以根据实际需求调整现有的界面布局,修改颜色、字体、样式等来满足企业或个人的品牌需求。也可以根据用户习惯和操作习惯,优化现有的界面元素,提升用户的使用体验。 2. 功能增强:可以根据具体业务需求,增加的功能模块或者扩展现有功能。比如,添加的菜单项、按钮等来实现特定的操作,或者在现有功能基础上增加的交互方式,让应用程序更加灵活且功能丰富。 3. 数据处理:可以在后台框架中进行数据的处理和计算。通过对数据进行加工、过滤、聚合等操作,可以实现更加复杂的数据展示和分析,提供更加精确和有用的信息给用户。 4. 业务逻辑实现:根据实际业务需求,在WPF后台框架中实现特定的业务逻辑。可以通过修改现有的事件处理、数据绑定等方式来实现相关功能,实现应用程序的核心业务需求。 总之,通过WPF后台框架的二次开发,开发人员可以根据具体需求对框架进行灵活的定制和扩展,以满足不同应用场景的要求。这种方式可以提高开发效率,同时也能够使得应用程序更加符合用户的期望和需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

今天hz敲代码了吗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值