1、angular2实现纯数字的循环ngFor
我们知道angular2里的ngFor实现数组的循环是比较方便的,可是有时候数组的数据都拿过来可能是没必要的,使用数字就可以。
项目中遇到的问题,传到子组件里的数据实际只用到了长度,但是我是把数组都传过去的。
所以有了这个问题,比如将数字转为数组将5转为 [0,1,2,3,4]
使用下面的实现方式。
Array(5).fill().map((x,i)=>i)
运行结果
当然如果报错的话这样写
Array(5).fill("").map((x,i)=>i)
当前最简单的可以直接用
new Array(5)
然后对这个数组进行循环的取索引值即可。
2、在组件里直接设置传进来的值,@Input() set 不需要再单独写方法
@Input() set ref(value:string) {
this.params = Object.assign(this.params,value? {ref:value}: {})
};
value就是父组件传过来的值
3、play获取IP判断网络
JSP里有如下方法可以用
/** Returns the client's (user) IP */
public static String getIp(HttpServletRequest request) {
String ip = request.getHeader("X-Forwarded-For");
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("Proxy-Client-IP");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("WL-Proxy-Client-IP");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("HTTP_CLIENT_IP");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("HTTP_X_FORWARDED_FOR");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getRemoteAddr();
}
return ip;
}
获取服务器地址是getServerName()
在play里可以直接使用request()不需要再传参数进去
方法分别是
request().remoteAddress()
request().host() //包含端口
参考文档
How to get Client IP Address using Java
4、YAML
URL:
5、ckEditor回车
cKEditor在使用的时候我们会发现回车的时候换行的距离会比较大,如果把数据取出来你会发现在回车的时候创建了新的p标签,而且还在2个p标签之间会有换行,那么这样间隔就大了。
当然如果用shift+enter的时候会发现这时候换行没了,距离就会小了。
怎么解决呢,想存数据库的时候不存这个回车,那就进行处理replace(/\n/g, ''),当然这也没法从根本上解决。
解决方案看链接☺
6、开源许可协议
一张图看懂开源许可协议,开源许可证GPL、BSD、MIT、Mozilla、Apache和LGPL的区别
7、虚拟机报错
无法连接 MKS:套接字连接尝试次数太多正在放弃
我的电脑 -> 右键 -> 管理 -> 服务和应用程序 -> 服务:
开启下面的服务:
服务启动成功后,重启虚拟机;
或者先挂起虚拟机,等服务启动后,继续运行挂起的虚拟机;
8、flex布局容器宽度为浏览器可视区域宽度,当不换行内容宽度超出时就会出现滚动条个空白
可尝试设置容器宽度或者设置手机端的菜单解决。