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

VUE跨页面传值的精妙

-


背景
众所周知,以前开发者只要掌握HTML、CSS、JavaScript 三驾马车就能胜任一份Web前端的工作。而在技术日新月异的现在,Vue, React,Angular在代替旧的前端框架已经是大势所趋了。


一、vue简介
Vue是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动。


是一个兴起的前端js库,是一个精简的MVVM。从技术角度讲,Vue.js 专注于 MVVM 模型的 ViewModel 层。它通过双向数据绑定把 View 层和 Model 层连接了起来,通过对数据的操作就可以完成对页面视图的渲染。


二、与ajax比较
2.1 vue本身不支持ajax请求,需要借助vue-resource,axios插件。vue2官方推荐axios,是一个基于Promise的HTTP请求客户端,不再对vue-resource进行维护和更新。


`axios([options])
axios.get(url[,options]);
传参方式:
1.通过url传参
2.通过params选项传参
axios.post(url,data,[options]);
axios默认发送数据时,数据格式是Request Payload,并非我们常用的Form Data格式,
所以参数必须要以键值对形式传递,不能以json形式传参
传参方式:
1.自己拼接为键值对
2.使用transformRequest,在请求发送前将请求数据进行转换
3.如果使用模块化开发,可以使用qs模块进行转换

axios本身并不支持发送跨域的请求,没有提供相应的API,作者也暂没计划在axios添加支持发送跨域请求,所以只能使用第三方库`
2.2 ajax传参格式


ajax是jquery封装的一个前端方法,通过请求后台API接口方式,用以局部刷新和动态展示页面。


`$.ajax({
url: "http://localhost:8082/boot/request/parameter",
type: "post",
contentType: "application/json;charset=utf-8",
data: JSON.stringify({name: "aaa", foo: ["bar1", "bar2"]}),
success: function (json) {
console.log(json);
}
});`
2.3 vue传参格式


场景:点击父页面的XX查询按钮,弹出子页面queryView,父页面选中的某行记录值传到子页面中,子页面请求后台Api关联查询并展示父页面选中记录对应的明细记录。


在父页面定义方法query()
- const rows为父页面查询列表选中的某行记录
- queryView为子页面
- params 为定义的传值对象
- callback 回调方法

`query() {
let title = "XX查询"
const rows = this.$refs.multipleTable.selection;
this.$dialog.modal(queryView, {
title: title,
width: 1200,
height: 600,
params: {domain: Object.assign({}, rows[0])},
callback: data=> {
if(data.flag == true)
this.queryData()
}
});
}`
子页面中定义接收参数对象,接收参数对象有3种格式:变量、对象、常量


这里定义为对象 Object


`props:{
domain: {
type: Object,
default: function() {}
}
}`
调用后台api接口关联查询并展示


- params 定义方法中变量,获取从父页面接收的对象中的属性值
- this.operat4Data(XXApi.getList, params, null, null); 调用后台api接口及传参

`queryData() {
let params = {apiParams:this.domain.apiParams};
let respData = this.operat4Data(XXApi.getList, params, null, null);
respData.then( data => {
this.dataList = data.posts;
this.total = data.count;
});
}`
 


三、vue的优势
vue因其极具方便灵活易用等特性,为广大前端开发者所推崇和使用。


![](https://i-blog.csdnimg.cn/blog_migrate/d11083a43fede8b2f514442d001652f6.png)


 




![](https://i-blog.csdnimg.cn/blog_migrate/c6588a897387ffefcdda1428dcd8e7dd.jpeg)

同名原创公众号:
程序大视界

http://www.gsyq.cn/news/1433733.html

相关文章:

  • 网络技术12-FTP协议详解——传统文件传输的“老派方案“
  • MTK刷机工具终极指南:3步解锁联发科设备救砖与系统修复
  • 抽象之美——万物皆可设计
  • Beyond Compare 5密钥生成器:深度解析Python逆向工程实现方案
  • AI写专著高效之道:借助AI工具,3天完成20万字专著创作!
  • XUnity.AutoTranslator:打破语言壁垒的Unity游戏翻译神器终极指南
  • idea中Maven基本介绍
  • 2026零添加蜂蜜水推荐:彭祖蜜分离式蜂蜜水值得选吗 - 资讯快报
  • 2026年4月市场正规的街舞文化推广基地推荐,开启创意之旅,着力推广街舞天地 - 品牌推荐师
  • 2026版机房动环智慧联动管控整体解决方案
  • JDK1.8的几个简单Lambda表达式
  • 别再死记硬背公式了!用Python可视化带你直观理解两个高斯分布相乘(附Matlab/NumPy代码)
  • 2026年珍珠棉厂家推荐排行榜:EPE珍珠棉/防震包装/五金电子包装/玻璃制品缓冲内衬/高密度珍珠棉卷材护角优选 - 企业推荐官【官方】
  • 别再被间歇振荡搞懵了!用LTspice仿真RCC开关电源,从轻载到满载的完整避坑指南
  • 魔兽争霸3优化终极指南:5分钟解决现代电脑兼容性问题
  • 常州环创再生资源科技:江苏专业的废保护器回收公司怎么联系 - LYL仔仔
  • QMCDecode终极指南:3步快速解锁QQ音乐加密文件,免费实现音乐自由
  • 商业智能中AI的认知陷阱:如何识别与防范“听起来正确”的危险结论
  • Visual Studio里那个烦人的C2143语法错误,我总结了新手最常踩的3个坑(附排查清单)
  • 市政设施三维智慧运维整体解决方案(2026完整版)
  • Online-disk-direct-link-download-assistant:深度解析网盘直链解析技术原理与优化配置
  • vscode如何免秘钥登入Ubuntu
  • 宏洛图 (HONGLT) 设计|重塑男士理容新境 —— 高端男士化妆品包装全案设计哲学 - 宏洛图品牌设计
  • 去中心化自治供应链:区块链、物联网与智能合约重塑工业协作范式
  • 高效智能的Zotero文献去重插件:一站式解决重复条目问题
  • 2026进口品牌安全联轴器厂家深度选型:不同工况匹配指南 - 资讯快报
  • 别再乱选Canvas渲染模式了!Unity UI开发中Screen Space - Overlay与Camera模式实战避坑指南
  • 统信UOS 1060右键菜单太乱?手把手教你清理‘打开方式’里的多余选项(以LibreOffice为例)
  • 抖音批量下载器终极指南:免费无水印内容一键获取
  • 抖音下载器技术突破:智能策略编排与高性能批量下载架构解析