惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V
Vulnerabilities – Threatpost
D
Docker
C
Check Point Blog
P
Proofpoint News Feed
H
Help Net Security
A
About on SuperTechFans
GbyAI
GbyAI
MyScale Blog
MyScale Blog
F
Fortinet All Blogs
U
Unit 42
Y
Y Combinator Blog
The GitHub Blog
The GitHub Blog
云风的 BLOG
云风的 BLOG
I
InfoQ
Recent Announcements
Recent Announcements
Stack Overflow Blog
Stack Overflow Blog
博客园 - 三生石上(FineUI控件)
Google DeepMind News
Google DeepMind News
Apple Machine Learning Research
Apple Machine Learning Research
Simon Willison's Weblog
Simon Willison's Weblog
WordPress大学
WordPress大学
Attack and Defense Labs
Attack and Defense Labs
D
DataBreaches.Net
C
CXSECURITY Database RSS Feed - CXSecurity.com
人人都是产品经理
人人都是产品经理
J
Java Code Geeks
Help Net Security
Help Net Security
P
Proofpoint News Feed
Latest news
Latest news
L
LINUX DO - 最新话题
K
Kaspersky official blog
B
Blog
C
Cybersecurity and Infrastructure Security Agency CISA
S
SegmentFault 最新的问题
C
Cyber Attacks, Cyber Crime and Cyber Security
Project Zero
Project Zero
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
H
Heimdal Security Blog
阮一峰的网络日志
阮一峰的网络日志
小众软件
小众软件
Jina AI
Jina AI
Vercel News
Vercel News
AWS News Blog
AWS News Blog
L
Lohrmann on Cybersecurity
aimingoo的专栏
aimingoo的专栏
H
Hackread – Cybersecurity News, Data Breaches, AI and More
博客园 - 【当耐特】
Hacker News - Newest:
Hacker News - Newest: "LLM"
W
WeLiveSecurity
Martin Fowler
Martin Fowler

博客园 - 我就是那个王小明

git修改历史提交记录名字 gitbase配置两个git仓库源头地址 yarn dev 或者 npm run dev 或node -v 等报错:'node' 不是内部或外部命令,也不是可运行的程序 或批处理文件。 htmlToPdf ES6 Generator使用 - 我就是那个王小明 - 博客园 数组中的每一项按照某个属性分组 - 我就是那个王小明 - 博客园 前端开发快速定位bug的一些小技巧 基本css拼图形 forEach时候删除数组某一属性项,使用splice容易出现问题 配置vuex并使用 vue搭建开发环境 一些意想不到的小bug。 小程序开发中遇到的问题 rem原理 vue使用webpack压缩后体积过大要怎么优化 分别使用ES5和ES6进行数组去重以及注意事项 nodeJS理解 package.json和bower的参数解释 Angular.js基础
对于vue的一些理解
我就是那个王小明 · 2018-08-06 · via 博客园 - 我就是那个王小明

首先是组件之间的通信方式

  1. 父组件到子组件的通信:
    props和$refs
  2. 子组件到父组件的通信:
    events 和 $parents 以及 $root
  3. 组件之间的通信
    eventBus和vuex
    eventBus的使用:
    引入vue的eventBus:
    import Vue from 'vue';
    export default new Vue();
    
    之后,
    首先挂载事件: bus.$on('onChange', (params) => this.open(params));
    然后再调用:bus.$emit('onChange', params)
    不使用的时候要在声明周期钩子的destroyed中销毁,因为eventBus不能自动销毁。bus.$off('onChange')
    在使用event-bus的时候需要结合生命周期钩子并用在合适的生命周期内。
    例如: 如果要在A页面之中使用eventBus通过事件名‘onChange’将参数params传递到B页面
    (1). 首先应该在AB页面中分别引入新的Vue对象,作为eventBus的载体,这时候可以建立一个公共文件,作为eventBus的载体
    event-bus.js:
    import Vue from 'vue'; export default new Vue();
    在A.vue和B.vue文件中引入
    import EventBus from 'event-bus.js'
    (2). 在B页面中,挂载上EventBus事件,挂载事件发生在mounted的时候。
    EventBus.$on('onChange', params)
    (3). 在A页面中 ,emit事件
    EventBus.$emit('onChange', {a:1})
    这样就可以把A页面中的参数a的值1传递到B页面中使用了。
    (4). 最后在B页面的destory()生命周期中销毁。
    EventBus.$off('onChange')
    (5). 但是有一点需要注意, 需要注意A,B页面中生命周期的顺序,需要优先加载A页面,先将事件挂载上,否则参数根本传不过来,再一点,如果不销毁EventBus事件,会累计调用这个事件,随着点击次数增加。

v-if和v-show的区别已经适宜的使用场景

v-if是真正的条件渲染,条件切换的时候,子组件等也会随着销毁和重建,并且v-if的渲染是惰性的,知道条件为真时,组件才会被渲染。
v-show是组件页面渲染的时候就被渲染了,不管条件是否为真,条件只是用来单纯的切换css的变化控制显示隐藏。
v-if切换的时候开销大,v-show初始渲染时候开销比较大,所以,频繁切换的时候使用v-show, 如果判断条件比较少,就使用v-if。