使用antd
的Form
表单组件时,然后结合文档梳理一下规则使用的几种方式。
ES6之Destructuring
记录不同形式Destructuring导致的不同结果:
1 | function move1({x=0, y=0} = {}) { |
ES6之Temporal Dead Zone
在使用ES6时,一般都是推荐使用let, const
来定义变量,相对var
而言:
Hoisting | Scope | Creates global properties | |
---|---|---|---|
var | Declaration | Function | Yes |
let | Temporal dead zone | Block | No |
const | Temporal dead zone | Block | No |
Temporal dead zone
这个与var
的Declaration
有什么不一样的地方?
Socket.io问题分析
广播数据
如何向所有的客户端广播数据?
- 使用io.sockets.emit
1 | ... |
- 使用socket.broadcast.emit
1 | ... |
两种方式区别io.sockets.emit
向所有连接的客户端广播数据,而socket.broadcast.emit
则向
除了该socket
自身之外的其他所有广播数据。其实也就是说io.sockets.emit
= socket.broadcast.emit
+ socket.emit
因此可以猜测出socket.io内部会保留所有连接的socket。
nodejs mongodb
记录一下nodejs配置mongodb的过程:
mac上安装mongodb:
1
brew install mongodb
创建一个存在数据目录
1
mkdir -p ~/data/db
在用户根目录运行mongodb,指定数据存在路径为刚刚新建的目录
1
mongod --dbpath=./data/db
nodejs使用shebang
Angular 小技巧
1.textarea
的placeholder
换行
问题:placeholder中的文本过长,或者需要格式化展示文本时,需要使用多行展示。
解决方案:使用angular中的数据绑定就可以轻松实现
1 | <textarea rows="6" cols="45" placeholder="{{'第一行\n第二行\n第三行\n第四行'}}"></textarea> |
解决方案来源:Can you have multiline HTML5 placeholder text in a textarea?