split组件(vue)的代码
split组件因为常使用,所以单独独立出来,并且结构相当简单.
1 | <template> |
formatDate.js组件
1 | <div class="time">{{rating.rateTime | formatDate}}</div> |
formatDate.js是一个自定义的js组件,不是vue组件,目录位于:src/common/js,这种写法是为了练习js的模块化编程
- 将单独的一个函数写成一个模块
- 通过export导出函数
- 通过import导入函数
1 | export function formatDate(date, fmt) { //在es6下导出一个函数 |
store.js组件
这是一个js模块,负责html5的localstoage存储和读取的,位置: src/common/js/store.js
使用的方法是:
1 | //在es6下,export 函数function的导入需要这样写 |
代码:
1 | //存储 |
- 在node里面,没有默认全局window对象,所以需要指定加上才能使用window的相关方法和属性
- seller[id][key] = value; 相当于是某个id的seller的某个属性(key)和值(value)保存为一个对象
- 关于写入的逻辑:先读取localstorage的已有值,判断是否存在,然后再去解析localstoage的已有值,判断是否等于当前的数据的key值(id),最后再处理最终的值是否存储,这里逻辑需要先判断已有值.
- 关于读取的逻辑:先读取localstorage判断是否有值,然后再去判断解析localstoage读取得到的值,最后再处理最终得到的值是否正常,按顺序进行逻辑处理
util.js组件
这个js模块负责获取url的参数,位置:src/common/js/util.js
1 | /** |
- 读取url的所有参数,例如http://a.com/?id=12345&a=b的?id=12345&a=b
- 然后进行正则匹配,/[?&][^?&]+=[&?&]+/g,以?id=12345&a=b为举例:
[?&] 先匹配?和&的,url参数都是有这个2个字符作为连接符,就是指匹配?
[^?&]+ 然后匹配非?和&的多个,就是指匹配id
= 匹配等号
[^?&]+然后匹配非?和&的多个,就是指匹配12345
加起来就是能够匹配?id=12345&a=b
- 用对象返回,方便处理.