2019独角兽企业重金招聘Python工程师标准>>>

接着学习 kityminder, 前面其实没看完 kity, 大致了解之后, 我们先看看 minder 部分, 两者结合起来学更好些.

下载 kityminder-core (按文档说只含核心部分), 从 git-hub, 建立起开发/构造环境, 打开网页 dev.html 看
果然能出来脑图了, 真不错! 于是从 dev.html 网页开始, 其先加载 kity.js, 然后通过 seajs 加载 kityminder
各个 js 模块. 前述我们分别简单了解过 kity, seajs, 这里就略过, 直接去 kityminder src 目录找.

于是找到 src/kityminder.js, 代码大致是:
   define( ...   // seajs 要求的格式, CMD 规范.
       kityminder = {
           许多许多 module = require('...xxx.js')   
       }
注解说顺序是有讲究的 (有依赖关系的), 所以我们也大致按照顺序(大致)了解下各个 module.

== core/utils.js ==

提供一组函数, 常见的如 extend, each, trim, clone 等就略了.
另有 uuid(group): 负责为指定 group 生成下一个可用 id. 估计为每种 svg 元素生成 id.
guid(): 生成一个类似于(像) guid 的长的随机字符串?
   我们实验一下, 在浏览器 console 输入:
      var utils = seajs.require('core/utils.js')
      utils.guid() --> 打印出 `azzsqpc8jm68' (随机的), 再来一个: `azzsqq169tz4', 前几个字符总是 azzsq, 不太满意吧...

comparePlainObject(a,b): 比较两个 plain 对象是否等价? 方法是用将两个对象用 JSON 字符串化, 然后
   比较两个字符串... 我试验了一下, 这两个 plain-object 不等价:
      var a = {x:1, y:2}, b = {y:2, x:1};
      utils.comparePlainObject(a, b) --> false! 所以不要弄太刁钻的对象......

剩下的看着也不是很重要, 暂时略...

== kityminder.Minder (core/minder.js) ==

注释说暴露在 window 上的唯一变量. 应该就是 window.km 对象.

定义为 Minder = kity.createClass(..., ctor)

其中这里 ctor 不是很复杂, 也没有别的方法, 估计会在别的模块 extend 方法到 minder 类.

在 ctor 中使用了

学习 kityminder 笔记(五)相关推荐

  1. 管理3.0 学习词汇笔记 五 复杂理论

    词汇管理3.0 学习笔记 五 复杂理论 断言 1.任何复杂问题都有一个清晰,简单但错误的答案.   2.因果律:事情会按计划发生.能计算2061 哈雷重返太阳系,确不能确定下个星期的天气.因素多且关系 ...

  2. 学习 kityminder 笔记(十)

    2019独角兽企业重金招聘Python工程师标准>>> 今天学习 layout 下的各个 js. 在此之前, 需要回顾一下 core/layout. 注意在 core 下面有 lay ...

  3. python函数是一段具有特定功能的语句组_Python学习笔记(五)函数和代码复用

    本文将为您描述Python学习笔记(五)函数和代码复用,具体完成步骤: 函数能提高应用的模块性,和代码的重复利用率.在很多高级语言中,都可以使用函数实现多种功能.在之前的学习中,相信你已经知道Pyth ...

  4. Ethernet/IP 学习笔记五

    Ethernet/IP 学习笔记五 Accessing data within a device using a non-time critical message (an explicit mess ...

  5. StackExchange.Redis学习笔记(五) 发布和订阅

    StackExchange.Redis学习笔记(五) 发布和订阅 原文:StackExchange.Redis学习笔记(五) 发布和订阅 Redis命令中的Pub/Sub Redis在 2.0之后的版 ...

  6. 吴恩达《机器学习》学习笔记五——逻辑回归

    吴恩达<机器学习>学习笔记五--逻辑回归 一. 分类(classification) 1.定义 2.阈值 二. 逻辑(logistic)回归假设函数 1.假设的表达式 2.假设表达式的意义 ...

  7. 好程序员教程分析Vue学习笔记五

    好程序员教程分析Vue学习笔记五,上次我们学习了Vue的组件,这次我们来学习一下路由的使用.在Vue中,所谓的路由其实跟其他的框架中的路由的概念差不多,即指跳转的路径. 注意:在Vue中,要使用路由, ...

  8. 【AngularJs学习笔记五】AngularJS从构建项目开始

    为什么80%的码农都做不了架构师?>>>    #0 系列目录# AngularJs学习笔记 [AngularJs学习笔记一]Bower解决js的依赖管理 [AngularJs学习笔 ...

  9. 深度学习入门笔记(五):神经网络的学习

    专栏--深度学习入门笔记 推荐文章 深度学习入门笔记(一):机器学习基础 深度学习入门笔记(二):神经网络基础 深度学习入门笔记(三):感知机 深度学习入门笔记(四):神经网络 深度学习入门笔记(五) ...

  10. ROS学习笔记五:理解ROS topics

    ROS学习笔记五:理解ROS topics 本节主要介绍ROS topics并且使用rostopic和rqt_plot命令行工具. 例子展示 roscore 首先运行roscore系列服务,这是使用R ...

最新文章

  1. 从零开始学Win32平台缓冲区溢出(Part1)
  2. API设计中防重放攻击
  3. PMP知识点(六、质量管理)
  4. 解压bzi2文件出错,分析和处理
  5. C语言版:装饰器模式
  6. 8 年经验面试官解读程序员的技能瓶颈,以及突破瓶颈的忠告 | CSDN 博文精选
  7. Java Collection框架入门
  8. MySQL入门学习笔记
  9. redis列表list常用命令大全
  10. 做外贸建站和营销的注意事项
  11. bzoj3097: Hash Killer I
  12. 树莓派+SAKS扩展板实现数码管时钟
  13. stm32h7能跑linux,STM32H7榨干了Cortex-M7的最后一滴血
  14. AlertManager实现企业微信报警(十三)
  15. 大魔王程序员生成记#06.1#C语言习题
  16. Nginx:12---反向代理之(代理模块,代理单个上游服务器)
  17. windows执行cygwin慢问题
  18. linux运维自动化脚本,linux运维自动化shell脚本小工具
  19. 在线tcp测试,tcp测试
  20. Web项目中完成百度地图GPS定位

热门文章

  1. 给儿子瑞思升学后的一封信
  2. 计算机基础知识的重点,计算机公共基础知识重点必考资料
  3. 用python编写俄罗斯方块游戏
  4. 优漫动游:ui设计一对一培训多少钱,有必要上培训班吗?
  5. Kitty-Cloud中的编码规范
  6. 入职字节跳动后,才知道年薪 40w 的测试工程师有这么多?
  7. python 描述器协议
  8. webview 支持视频全屏播放
  9. TypeScript 常用的工具类型
  10. matlab正则表达式(附数+代码)