1 获取前几天,近几个月的时间

  function getDay(day) {var today = new Date();var targetday_milliseconds = today.getTime() + 1000 * 60 * 60 * 24 * day;today.setTime(targetday_milliseconds); //注意,这行是关键代码var tYear = today.getFullYear();var tMonth = today.getMonth();var tDate = today.getDate();tMonth = doHandle(tMonth + 1);tDate = doHandle(tDate);console.log(tYear + "-" + tMonth + "-" + tDate)return tYear + "-" + tMonth + "-" + tDate;}function doHandle(val) {return val.toString().length === 1?`0${val}`:val;}getDay(0); //当天日期getDay(3); // 前三天getDay(7); // 前一周getDay(31); // 近一个月

2 vue的$nextTick()

官方说法:将回调延迟到下次 DOM 更新循环之后执行。在修改数据之后立即使用它,然后等待 DOM 更新
简单来说,Vue 在修改数据后,视图不会立刻更新,而是等同一事件循环中的所有数据变化完成之后,再统一进行视图更新。
注意 mounted 不会承诺所有的子组件也都一起被挂载。如果你希望等到整个视图都渲染完毕,可以用 vm.$nextTick 替换掉 mounted

mounted: function () {this.$nextTick(function () {// Code that will run only after the// entire view has been rendered})
}

3 vue的$set

在开发过程中,我们时常会遇到这样一种情况:当vue的data里边声明或者已经赋值过的对象或者数组(数组里边的值是对象)时,向对象中添加新的属性,如果更新此属性的值,是不会更新视图的。
根据官方文档定义:如果在实例创建之后添加新的属性到实例上,它不会触发视图更新。
根据vue的两大缺陷:无法对对象添加新属性和删除新属性,二是不支持通过索引去设置数组成员,但官方又定义:Vue 不允许在已经创建的实例上动态添加新的根级响应式属性 (root-level reactive property)。然而它可以使用 Vue.set(object, key, value) 方法将响应属性添加到嵌套的对象上

$set可以解决这两者问题。

data () {return {arr: ['one','two','three'],obj: {name: 'peter',age: 26}}
}
methods: {btnclick () {this.arr[0] = 'four' // 这样数据发生了改变,但视图未更新this.$set(this.arr,0,'four') // 两者都改变this.$set(this.obj,'color','red')}
}

4 vue的watch

watch是类似于methods一样的对象,既然是对象,那么就有键值对,
键:就是你要监控的那个家伙,比如说$route,已存在的data的值,这个就是要监控路由的变化。或者是data中的某个变量,只要值发生了改变就会触发
值可以是函数:就是当你监控的家伙变化时,需要执行的函数,这个函数有两个形参,第一个是当前值,第二个是变化后的值。

  a: function (val, oldVal) {console.log(val,oldVal)}

值也可以是函数名:不过这个函数名要用单引号来包裹。

  b:'clickbtn'

值可以是对象,包括选项的对象
选项包括有三个。

  • 第一个handler:其值是一个回调函数。即监听到变化时应该执行的函数。
  • 第二个是deep:其值是true或false;确认是否深入监听。(一般监听时是不能监听到对象属性值的变化的,数组的值变化可以听到。)
  • 第三个是immediate:其值是true或false;确认是否以当前的初始值执行handler的函数。(页面加载之初先执行一次handler)

    c: {handler: function (val, oldVal) { /* ... */ },deep: true,immediate: true
    }

5 获取对象的长度

var obj = {'name' : 'Tom' , 'sex' : 'male' , 'age' : '14'};
var arr = Object.keys(obj);
console.log(arr);  // ['name','sex','age']
console.log(arr.length);  //3

6 vue的父调子的方法

父组件可以通过ref的方式去调用子组件的方法和值,具体:父组件想调用子组件的方法,可以在子组件中加上ref,然后通过this.$refs.ref.method调用

父组件:

  <template><div @click="parent"><child ref="child"></child></div></template><script>import child from '~/components/dam/child.vue';export default {components: {child},methods: {parent() {this.$refs.child.child();}}};</script>

子组件:

  <template><div>{{name}}</div></template><script>export default {data() {return {name: '测试'};},methods: {child() {console.log(this.name);}}};</script>

在父组件中, this.$refs.child 返回的是一个vue实例,可以直接调用这个实例的方法,同样的也可以取到子组件的值。

7 vue的子调父的方法

子组件调用父组件有三种方式:

  • 直接在子组件中通过this.$parent.event来调用父组件的方法

    父组件

      <template><div><child></child></div></template><script>import child from '~/components/dam/child';export default {components: {child},methods: {parent() {console.log('测试');}}};</script>

    子组件

      <template><div><button @click="child()">点击</button></div></template><script>export default {methods: {child() {this.$parent.parent();}}};</script>
  • 在子组件里用$emit向父组件触发一个事件,父组件监听这个事件

    父组件

      <template><div><child @parent="parent"></child></div></template><script>import child from '~/components/dam/child';export default {components: {child},methods: {parent() {console.log('测试');}}};</script>

    子组件

      <template><div><button @click="child()">点击</button></div></template><script>export default {methods: {child() {this.$emit('fatherMethod');}}};</script>
  • 父组件把方法传入子组件中,在子组件里直接调用这个方法

    父组件

      <template><div><child :parent="parent"></child></div></template><script>import child from '~/components/dam/child';export default {components: {child},methods: {parent() {console.log('测试');}}};</script>

    子组件

      <template><div><button @click="childMethod()">点击</button></div></template><script>export default {props: {fatherMethod: {type: Function,default: null}},methods: {childMethod() {if (this.fatherMethod) {this.fatherMethod();}}}};</script>

转载于:https://www.cnblogs.com/sqh17/p/10720673.html

0409-0416的笔记相关推荐

  1. Python基础语法学习笔记

    Python基础语法学习笔记 想淘宝省钱看我简介,博客www.liangxin.name (一) 一.Print()函数 1.数字可以直接输出,无需加引号 只能理解数字,却读不懂文字.因为数字和数学运 ...

  2. 控制系统仿真与CAD-薛定宇-第四章matlab学习笔记

    控制系统仿真与CAD-薛定宇-第四章matlab学习笔记 04-02传递函数模型 tfdata() 传递函数属性法 04-07典型系统连接计算 pretty 用法 04-08方框图简化 04-09代数 ...

  3. 视觉SLAM十四讲 ch3 Ubuntu18.04 KDevelop的使用及Eigen实践 入门笔记

    视觉SLAM十四讲 ch3 Ubuntu18.04 KDevelop的使用及Eigen实践 入门笔记 一.创建KDevelop项目 二.编写程序 一.创建KDevelop项目 你的电脑上如果还没有安装 ...

  4. 《视觉SLAM十四讲 第二版》笔记及课后习题(第三讲)

    读书笔记:三维空间刚体运动 本讲介绍视觉 SLAM 的基本问题之一:一个刚体在三维空间中的运动是如何描述的.我们当然知道这由一次旋转加一次平移组成.平移确实没有太大问题,但旋转的处理是件麻烦事.我们将 ...

  5. SLAM学习笔记-------------(三)三维空间刚体运动

    目录 3.1旋转矩阵 向量坐标 坐标系间的转换 变换矩阵与齐次坐标 3.2 实践  Eigen 3.3 旋转向量和欧拉角 旋转向量 欧拉角 3.4 四元数 定义 运算: 用四元数表示旋转: 四元数和其 ...

  6. [视觉SLAM十四讲]学习笔记1-刚体运动之旋转矩阵与变换矩阵

    [视觉SLAM十四讲]学习笔记1-刚体运动之旋转矩阵与变换矩阵 1点.向量和坐标系 2 坐标系间的欧式变换 2.1 欧式变换之旋转 2.2 欧式变换之平移 3 变换矩阵与齐次坐标 4 Eigen库的简 ...

  7. Python数模笔记-Sklearn(3)主成分分析

    主成分分析(Principal Components Analysis,PCA)是一种数据降维技术,通过正交变换将一组相关性高的变量转换为较少的彼此独立.互不相关的变量,从而减少数据的维数. 1.数据 ...

  8. 【读书笔记】知易行难,多实践

    前言: 其实,我不喜欢看书,只是喜欢找答案,想通过专业的解答来解决我生活的困惑.所以,我听了很多书,也看了很多书,但看完书,没有很多的实践,导致我并不很深入在很多时候. 分享读书笔记: <高效1 ...

  9. 【运维学习笔记】生命不息,搞事开始。。。

    001生命不息,搞事不止!!! 这段时间和hexesdesu搞了很多事情! 之前是机械硬盘和固态硬盘的测速,我就在那默默的看着他一个硬盘一个机械测来测去. 坐在他后面,每天都能看到这位萌萌的小男孩,各 ...

  10. SSAN 关系抽取 论文笔记

    20210621 https://zhuanlan.zhihu.com/p/353183322 [KG笔记]八.文档级(Document Level)关系抽取任务 共指id嵌入一样 但是实体嵌入的时候 ...

最新文章

  1. Shell基础命令之echo
  2. 云计算时代下的手机未来
  3. 解决linux 升级高版本python3.7后yum不能使用的问题
  4. 比特币在贬值但是不会出局
  5. 整数的幂计算(三种方法)最快O(logn)
  6. 接口自动化-发送get请求-1
  7. Unity3D基础26:物体实例化
  8. Nexus仓库属性和分类
  9. 职业程序员的知识体系
  10. 【超详细转】VMware 9 安装 Mac OS X 10.8 Mountain Lion 图文全程
  11. 使用python玩转dicom文件——医学图像处理工具pydicom入门教程
  12. 计算机专业复试离散数学,考研复试没头绪?计算机考研复试的同学看过来
  13. 富士施乐Fuji Xerox DocuPrint P158 b 驱动
  14. linux学习的前期记录
  15. java版怎么玩空岛,我的世界空岛指令是什么?怎么玩?
  16. cypress 框架介绍及元素定位
  17. 独家食用指南系列|Android端SQLCipher的攻与防新编
  18. android部分代码片段(例:判断设备为手机,获取mac地址,软键盘,唤醒屏幕等)
  19. 2019软件测试学习教程(学习路线+课程大纲+视频教程+学习工具)
  20. 验证谷角猜想。日本数学家谷角静夫在研究自然数时发现了一个奇怪现象:对于任意一个自然数 n ,若 n 为偶数,则将其除以 2 ;若 n 为奇数,则将其乘以 3 ,然后再加 1。如此经过有限次运算后,总可

热门文章

  1. 遂宁2017届零诊16题(仅想说明网传答案的不正确)
  2. 概率链接nbu 2416 奇怪的散步
  3. k-d tree算法的研究
  4. (ASA) Cisco Web ××× 配置详解 [三部曲之一]
  5. CV02-FCN笔记
  6. 推箱子2-向右推!_保持冷静,砍箱子-me脚
  7. 识别手写字体app_我如何构建手写识别器并将其运送到App Store
  8. cocos2dx小游戏数据签名算法破解
  9. mysqlls_mysql基本命令
  10. 1098 Insertion or Heap Sort 需再做