vue.js - VueJS 最好的方式将 css 从孩子应用到父母
问题描述
VueJS 将 css 从孩子应用到父母的最佳方式是什么?我有很多页面布局left\right\menu\tables\colunm\etc。所有路线都以深度路径呈现。今天有页面(组件)需要将 css 样式应用于 N 级以上的父级。我该怎么做?
解决方案
您可以在全局级别创建一个简单的 EventBus:
const eventBus = new Vue();
接着eventBus.$emit('signal-name', ...args)
然后你可以做一系列的事情,比如
eventBus.$on(name, callback)
-> 创建一个监听器来接收发射
eventBus.$once(name, callback)
-> 接收一次并移除监听器
eventBus.$off(name, callback)
-> 移除监听器
您可以传递一些布尔值或 CSS 类:
eventBus.$emit('signal-name', true)
-> 然后根据它显示一些东西
eventBus.$emit('signal-name', ['is-white', 'is-bold'])
注意:对于$off
:
* If no arguments are provided, remove all event listeners;
* If only the event is provided, remove all listeners for that event;
* If both event and callback are given, remove the listener for that specific callback only.
推荐阅读
- emacs - 如何使用 org-super-agenda 设置“3 天内到期”的组?
- javascript - 面向全球和 AMD 的 UMD 模块
- java - 如何在 Java 中将 yyyymm 数据格式解析为 Month、YYYY 格式?
- tensorflow - AttributeError:模块“keras.utils.generic_utils”没有属性“to_snake_case”
- typescript - 打字稿文件中的类型“编号 []”上不存在属性“包含”
- java - 如何验证隐式等待是否在 Katalon Studio 中工作
- python - Plotly 下拉菜单执行功能
- mysql - 运行子查询时出现错误代码 1054
- symfony - API 平台 - 如何使用装饰器在 Swagger UI 中添加响应代码以添加 400、404、500 响应代码,以便客户端提前知道响应
- android - 这些参数与注入的调度程序有什么不同?