cpu-fe-base

2.0.3 • Public • Published

npm version license Build Status

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模板实现有差异,自行感受

Readme

Keywords

none

Package Sidebar

Install

npm i cpu-fe-base

Weekly Downloads

2

Version

2.0.3

License

MIT

Unpacked Size

1.54 MB

Total Files

379

Last publish

Collaborators

  • ycyonyoucloud