1. 父页面向子页面传值

在父组件中引用的子组件处<xxx :aaa="a"/>
在子组件中接收  props:['aaa']

父页面:Father.vue

<template><div><h1>这是父页面</h1><Son :num="a" :obj="user"/></div>
</template><script>
import Son from "@/views/log/template/Son";export default {name: "Father",components: {Son,},data(){return{a:100,user:{name:'张三',age:18,general: '男'}}}
}
</script><style scoped></style>

子页面:Son.vue

<template><div><h1>这是子页面</h1>{{num}}=======================================================<p v-for="(item,index) in obj" :key="index">{{item}}</p></div>
</template><script>
export default {props:['num','obj'],name: "Son"
}
</script><style scoped></style>

效果

vue中大小写不敏感,驼峰可以改成-隔开userName  user-name

vue提供了一个props入口,也是父子组件之间唯一的传值方式,父组件通过v-bind自定义属性传入值,子组件通过props接受对应的参数

props接受的参数可以是数组,也可以是对象
props:[]
props:{ a:Number,b:String,c:String }

如果props是一个对象,那么这个对象的key是自定义传入参数属性,value是希望传入的参数类型
参数可以配置
props:{
    a:{
        type:Object,
        required: true,
        defult: ()=>{return {a:100}}, // 默认参数
        validator: function(value){return value > 50}
    }
}

2. 子组件修改父组件的参数

子组件不能直接对父组件传过来的值进行修改,只能传出一个自定义事件,父组件通过调用这个自定义事件后,然后在外部修改值
子组件 this.$emit("自定义的父组件的方法名称add")
在父组件的<xxx @add="sumNum" :aaa='a'/>

父页面

<template><div>{{a}}<h1>这是父页面</h1><p>上面是父组件</p><p>下面是子组件</p><p></p><Son :num="a" @add="sumNum"/></div>
</template><script>
import Son from "@/views/log/template/Son";export default {name: "Father",components: {Son,},data(){return{a:100}},methods:{sumNum(){this.a++}}
}
</script><style scoped></style>

子页面

<template><div><h1>这是子页面</h1>{{num}}<button @click="clickMethod">按我加一</button></div>
</template><script>
export default {props:['num'],name: "Son",methods:{clickMethod(){this.$emit("add")}}
}
</script><style scoped></style>

效果

$emit方法是vue封装的,用来向父组件返回对应的自定义事件,父组件通过在子组件身上设置对应的自定义事件后设置事件名称

@add自定义事件是子组件通过$emit传出来的自定义事件,父组件通过这个事件设置事件方法sumNum,然后修改自己的值,从而实现子组件修改父组件的值

这么做的目就是为了让数据可观察性更强,可维护性更高

3. 页面跳转传值

>>localStorage

原来页面:

localStorage.setItem("dataInfo", JSON.stringify(dataInfo)) // 对象

localStorage.setItem("aaa", aaa) // 非对象

要跳转的页面:

let dataInfo= JSON.parse(localStorage.getItem('dataInfo'))

let aaa = localStorage.getItem('aaa')

也可以使用removeItem、clear删除localStorage中的值

注意:永久有效,大小只有5M

>>sessionStorage

与localStorage用法相同,

只是生命周期为当前窗口或标签页,一旦窗口或标签页被永久关闭了,那么所有通过sessionStorage存储的数据也就被清空了。但刷新不会。

VUE学习笔记 -- 页面传值相关推荐

  1. 【Vue】学习笔记-组件传值的数据累加器

    [Vue]学习笔记-组件传值的数据累加器 前言 父级组件 购物车组件 计数器组件 常见错误总结 前言 组件传值的数据累加器可以分为三个部分 App.vue为父级组件 Carts.vue表示购物车 Co ...

  2. vue学习笔记-03-浅谈组件-概念,入门,如何用props给组件传值?

    vue学习笔记-03-浅谈组件-概念,入门,如何用props给组件传值? 文章目录 vue学习笔记-03-浅谈组件-概念,入门,如何用props给组件传值? 什么是组件? 为什么要使用组件? 如何使用 ...

  3. Vue学习笔记(五)—— 状态管理Vuex

    介绍 Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式.它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化.Vuex 也集成到 Vue 的官方调试 ...

  4. day4 vue 学习笔记 组件 生命周期 数据共享 数组常用方法

    系列文章目录 day1学习vue2笔记 vue指令 day2 学习vue2 笔记 过滤器 侦听器 计算属性 axios day3 vue2 学习笔记 vue组件 day4 vue 学习笔记 组件 生命 ...

  5. Vue学习笔记(三)Vue2三种slot插槽的概念与运用 | ES6 对象的解构赋值 | 基于Vue2使用axios发送请求实现GitHub案例 | 浏览器跨域问题与解决

    文章目录 一.参考资料 二.运行环境 三.Vue2插槽 3.1 默认插槽 3.2 具名插槽 3.3 作用域插槽 ES6解构赋值概念 & 作用域插槽的解构赋值 3.4 动态插槽名 四.GitHu ...

  6. Vue学习笔记01——Vue开发基础

    一.Vue实例配置选项 选项 说明 data Vue实例数据对象 methods 定义Vue中的方法 components 定义子组件 computed 计算属性 filters 过滤器 el 唯一根 ...

  7. Vue学习笔记---------Vue2

    Vue学习笔记---------Vue2 1. Hello,world! 插值语法: 用 {{ xxx }} 插入一个值 ,该值在data中自定义内容. <body><div id= ...

  8. Vue学习笔记入门篇——数据及DOM

    本文为转载,原文:Vue学习笔记入门篇--数据及DOM 数据 data 类型 Object | Function 详细 Vue 实例的数据对象.Vue 将会递归将 data 的属性转换为 getter ...

  9. vue学习笔记-02-前端的发展历史浅谈mmvm设计理念

    vue学习笔记-02-前端的发展历史浅谈mmvm设计理念 文章目录 1. MVVM模式的实现者 2.第一个vue程序 3.什么是mvvm? 4.为什么要用mvvm? 5.mvvm的组成部分 7.MVV ...

最新文章

  1. 计算机三级网络技术查漏补缺
  2. 2019-06-07 Java学习日记之CSS
  3. java io重定向,java中的标准重定向标准IO_java标准IO_java构建器_课课家
  4. 大规模中文自然语言处理语料(百科,问答、新闻,翻译)
  5. java逻辑判断_阿里JAVA开发强制要求的10条条件控制及逻辑判断的规范,切记
  6. Linux -- sudoers (简单:转)
  7. Cursor finalized without prior close()
  8. 交换机端口镜像配置大全【汇集 22个各种品牌交换机】
  9. 数据结构-01-图解后缀表达式值计算方式
  10. 二元最佳前缀码_贪心-最优前缀码
  11. 《云边协同关键技术态势研究报告》丨附下载
  12. 毕设答辩遇到的小问题
  13. ubuntu 安装ATI驱动
  14. 吴晓华当选河北省衡水市市长
  15. Neural Feature Search for RGB-Infrared Person Re-Identification
  16. 2021年总结:前路有光,初心莫忘
  17. Android SO逆向-C++虚函数表解析
  18. egg extend ts_KPL五周T队排名,“天王级”战队只有两个,TS被踢出队列
  19. matlab dpm目标检测,车辆目标检测
  20. 记录oracle的一些操作

热门文章

  1. ibm键盘部分失灵_IBM Business Process Manager操作概述,第3部分,高级操作
  2. 网站计数器——Java实现
  3. Springboot整合Socket长连接
  4. 一文读懂BERT(原理篇)
  5. liunx 安装adobe reader阅读器(转载)
  6. 好用的RSS阅读器-My RSS Reader
  7. 他借钱创业成“暴发户”,身价上千亿
  8. 权值法实现五子棋AI
  9. visio反向工程使用mysql
  10. Android系统内核cpufreq技术分析