cpu-fe 通用模块
目录
- 文件结构
- 坑
文件结构
common
通用组件
Ajax:ajax,统一参数封装
store:前端字典
...:杂七杂八
bindingHandlers:ko指令
async ui限制,指令版
date 年-月-日
historyKey 记忆操作,session版
historySubmit
isNumber 强制,只输入数字
link 跳转href动态版
navsrcoll 吸顶
store ?
time 时:分:秒
components:早期组件,不在维护
refer 下拉且参照
event:事件总线,主要用作iuapgrid,自动显示分页处理,不在维护
modal:早期模态框,不在维护
ShowOrEdit:早期展示与编辑视图切换,不在维护
dev:开发环境额外组件
bug bug提交
login 切换账户
module 切换模块
pm 需求管理
proxy 查看代理情况
timing 查看页面加载时间
prod:线上环境额外组件
vo:早期模型,主要用以箭筒维护datatable嵌套结构,不在维护
Model iuap 模型
Store iuap [模型]
createViewModel/Component:装饰创建ko组件
Model/ModelManager:iuap嵌套datatable补丁,后改为vo/model系列
opt:iuap提供的某种自定义单元格交互事件的方式
store:字典
comp
基于统一模型做的业务组件
模型太多,不在维护
config
部署配置
css
通用样式
form/grid
将业务组件中重度组件(form/grid)拆分,实现复用的方式,不在维护
kofw
utils:装饰处理模型 validate:验证处理 vo:上面的Model(datatable)系列,对所有内容进行监听,有性能问题,此处尝试只监听需要修改的模型,提升效果不大,仅在kofw-grid中会使用 createViewModel/viewmodel:对ko追加生命周期,组件开发
kofw-components
组件化 主要为grid封装,使用新的vo,尝试放弃datatable,妄想达到更高的性能,ko的组件化滞后(会闪屏),且会占用更多的资源
modal
基于kofw的模态框,计划统一提供ue与接口后做弹出框统一方案,ue没出,接口滞后(无搜索),无视
model/store
早期模型,模型分散,复用率低,如果有,直接丢在src中,不在维护
坑
使用模态框,不要@ViewModel('body'),默认@ViewModel('#container')
根节点(如body)下,尽量只做一次绑定,如果需要多次绑定,需要先解除,且有作用域上的逻辑问题,模态框作为做特殊的组件,包含自己的视图与模型,与业务仅保留数据上的沟通,如
async gys(){
var data = await SupplyModal.open({
// selected: seled
});
}
故其视图上的容器,跟业务主体应该是平行的比如
<body>
<div class="container">
业务啊业务
</div>
<div class="modal">
模态框,遮照层,广告牌,聊天室
<div>
<body>
备注
用MB的iuap https://github.com/iuap-design/kero/issues/16
为什么写这么多Model https://github.com/Glimis/blog/blob/master/%E5%89%8D%E7%AB%AF%E6%A8%A1%E5%9E%8B/model%E4%B8%8Evm.js datatable:官网称Model增强,实际为VM,此处描述对之后实现与业务描述有影响 ModelManager主要用于整合datatable嵌套,自行尝试datatable提供的嵌套方式 vo/Model 用于尝试将datatable掰成Model(受官网及后台datatable影响) kofw/vo datatable会大批量触发更新,尝试取消datatable,重新实现,但kero整个组件依赖datatable,只有kofw-component才有使用,只实现了grid和下拉
为什么modal与oldmodal Modal,基于数据而非事件沟通 https://github.com/Glimis/blog/blob/master/%E5%89%8D%E7%AB%AF/%E6%A8%A1%E6%80%81%E6%A1%86%E5%A4%8D%E7%94%A8.md oldmodal,提供实现方式,由各个开发自行开发,使用依赖而非动态加载 modal,要求统一modal时,追加的模块,此处改为动态加载的方式
为什么kofw 没有生命周期,函数式写法 ko不是框架,对比为jq http://knockoutjs.com/documentation/introduction.html
为什么修改kero组件的实现 与组件化实现设计有关 组件化:https://github.com/Glimis/books/blob/master/zu-jian-hua.md jq组件实现方式:https://github.com/Glimis/books/blob/master/chuang-5efa-chu-shi-hua-jq-zu-jian-fang-an.md iuap的组件本身没有文档,部分组件有slot概念,部分没有,且占坑自定义属性与ko模板实现有差异,自行感受