给 router 添加一个 io 函数,接收参数 io ( io 是引入的 socket.io 库)。
咱把 router 导出,在 app.js 中导入,然后把 router.io 赋给 app.io 。
最后,在 bin/www 中导入 socket.io 并调用 app.io 。
现在 chat.js 中的 router.io 成功接收到导入的 socket 。
可能有人会有疑惑,怎么不直接在 chat.js 中直接导入 socket.io ?
用 express-generator 生成的 express 项目,目录结构如下
express项目目录结构
http 模块是在 bin/www 下导入并生成 server ,而 socket.io 基于 http (socket.io的参数就是server),所以网上的示例大多数是写在该文件里。
如果对你有帮助,请给个❤。
js负责页面与用户的交互,动态修改页面的内容。使用js脚本来处理用户的操作。
操作解释: 点击button按钮(点我),修改界面的msg显示为"BeiJing佩奇"
绑定事件: bindtap定义了"点击事件"
j s 函数: Page({定义函数对应bindtap})
例如开头示例一样,组件绑定事件,js编写事件函数。
这里大概介绍下log打印的内容
☞ 小生不才,附上 博客地址☜
事件分为冒泡事件和非冒泡事件
1.冒泡事件:当一个组件被触发后,该事件以此向父节点传递。
2.非冒泡事件:当一个组件触发后,该事件不会向父节点传递。
解释:当点击子节点时,会依次触发"bind事件2,bind事件1"
解释:当点击子节点时,只触发"bind事件2",而没有触发"bind事件1"
自基础班1.5.0起,触摸类事件支持捕获阶段。捕获阶段位于冒泡阶段之前。事件到达节点的顺序与冒泡相反。捕获事件采用的关键字为capture-bind、capture-catch,当然catch还是中断,取消冒泡阶段。
1. 示例1,执行顺序为hand2,hand4,hand3,hand1
2. 示例2,加入capture-catch捕获事件,只执行hand2