vue.js - Vue.js:如何从布局事件中调用页面方法?
问题描述
在我的设计中,页面布局有侧边栏,页面显示图像库在初始加载页面加载所有图像而没有过滤器单击侧边栏中的按钮时,页面应显示过滤后的图像。我可以在侧边栏的点击事件中从 API 服务器获得过滤响应,但无法调用页面的图像加载功能 如何在侧边栏的点击事件中调用页面的加载功能?先感谢您
解决方案
您可以使用事件总线。
EventBusLayout.js
使用以下代码创建一个 js 文件(可以是):
import Vue from 'vue';
export let EventBusLayout = new Vue();
然后在您的布局/侧边栏组件中:
<script>
import { EventBusLayout } from './EventBusLayout.js';
export default {
methods: {
sidebarClick() {
EventBusLayout.$emit('sidebarclick');
}
}
}
</script>
在您的页面组件中:
<script>
import { EventBusLayout } from './EventBusLayout.js';
export default {
beforeMount() {
EventBusLayout.$on('sidebarclick',this.myCallbackFunction);
},
beforeDestroy() {
EventBusLayout.$off('sidebarclick',this.myCallbackFunction);
}
methods: {
myCallbackFunction() {
/* do here your stuffs */
}
}
}
</script>
推荐阅读
- javascript - 使用 Protractor 自动化 React JS 应用程序(Jasmine 框架工作)
- react-native - 是否有可能使用 React Native 隐藏一些视图来进行屏幕录制
- firebase - 在后台处理通知 fcm 颤动
- python - MailChimp(成员标签添加/更新/删除)Python
- r - 如何在循环中附加df并连接多个数据帧数据
- java - 如何在 Java for Android 中将两个大数相乘
- jenkins - 使用 ansible 升级后仅更新 Jenkins 中的兼容插件
- asp.net-core - 如何根据要求更新 JwtBearer 权限和受众
- excel - 将表格与 Excel Power Query 合并
- javascript - 如何很好地将 window.navigator 打印为 json 字符串?