vue之非父子通信
一.非父子通信:
思路: 找个中间存储器,组件一把信息放入其中,组件二去拿
代码如下:
let hanfei = new Vue(); # 实列化个空的vue对象,作为中间存储器来时间
let maweihua = {
template: `<div>
<h1>这是张三</h1>
<button @click="my_click">点我向李四说话</button>
</div>`,
methods: {
my_click: function () {
// 向李四说话,向中间调度器提交事件
hanfei.$emit("zhangsan_say", "晚上等我一起吃饭~~~") # 向存储器提交信息用$emit
} # 括号内东西代表( 事件名字, 提交的信息 )
}
};
let kangchen = {
template: `<div><h1>这是李四</h1> {{say}} </div>`,
data(){
return { say: "" }
},
mounted(){ # mounted这个钩子函数在加载完成后还会一直监听
// 监听中间调度器中的方法
let that = this;
hanfei.$on("zhangsan_say", function (data) { # 从存储器中取值用$on
that.say = data # 只要中间存储器内有对应事件的数据发生改变,就让其反应到data
}) # 接上, 内的say中.
}
};
const app = new Vue({
el: "#app",
components: {
maweihua: maweihua,
kangchen: kangchen
}
})
最新文章
- 2000条你应知的WPF小姿势 基础篇<;15-21>;
- 设置easyui input默认值
- 【转载】MySQL启多个实例
- IEE数据库kill指定条件的进程
- BZOJ1001 狼抓兔子(裸网络流)
- Count and Say [LeetCode 38]
- php中实现17种正则表达式
- Golden32 别名时中文 报ORA-00911: invalid character错误
- Xcode7 修改bundle identifier
- C#操作XML存取创建XML
- iframe自适应高度处理方案
- ps图层面板上的【透明度】与【填充】的区别
- iOS开发的10个知识点
- Python使用Plotly绘图工具,绘制直方图
- CentOS 6.5 简单编译安装Nginx
- log4j - 使用教程说明
- 读书笔记——《You Don&#39;t Know JS》
- (转载)mybatis中传入参数是list或map
- centos7 安装gitlab任意版本
- rsync未授权访问漏洞利用