学习 kityminder 笔记(五)
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 笔记(五)相关推荐
- 管理3.0 学习词汇笔记 五 复杂理论
词汇管理3.0 学习笔记 五 复杂理论 断言 1.任何复杂问题都有一个清晰,简单但错误的答案. 2.因果律:事情会按计划发生.能计算2061 哈雷重返太阳系,确不能确定下个星期的天气.因素多且关系 ...
- 学习 kityminder 笔记(十)
2019独角兽企业重金招聘Python工程师标准>>> 今天学习 layout 下的各个 js. 在此之前, 需要回顾一下 core/layout. 注意在 core 下面有 lay ...
- python函数是一段具有特定功能的语句组_Python学习笔记(五)函数和代码复用
本文将为您描述Python学习笔记(五)函数和代码复用,具体完成步骤: 函数能提高应用的模块性,和代码的重复利用率.在很多高级语言中,都可以使用函数实现多种功能.在之前的学习中,相信你已经知道Pyth ...
- Ethernet/IP 学习笔记五
Ethernet/IP 学习笔记五 Accessing data within a device using a non-time critical message (an explicit mess ...
- StackExchange.Redis学习笔记(五) 发布和订阅
StackExchange.Redis学习笔记(五) 发布和订阅 原文:StackExchange.Redis学习笔记(五) 发布和订阅 Redis命令中的Pub/Sub Redis在 2.0之后的版 ...
- 吴恩达《机器学习》学习笔记五——逻辑回归
吴恩达<机器学习>学习笔记五--逻辑回归 一. 分类(classification) 1.定义 2.阈值 二. 逻辑(logistic)回归假设函数 1.假设的表达式 2.假设表达式的意义 ...
- 好程序员教程分析Vue学习笔记五
好程序员教程分析Vue学习笔记五,上次我们学习了Vue的组件,这次我们来学习一下路由的使用.在Vue中,所谓的路由其实跟其他的框架中的路由的概念差不多,即指跳转的路径. 注意:在Vue中,要使用路由, ...
- 【AngularJs学习笔记五】AngularJS从构建项目开始
为什么80%的码农都做不了架构师?>>> #0 系列目录# AngularJs学习笔记 [AngularJs学习笔记一]Bower解决js的依赖管理 [AngularJs学习笔 ...
- 深度学习入门笔记(五):神经网络的学习
专栏--深度学习入门笔记 推荐文章 深度学习入门笔记(一):机器学习基础 深度学习入门笔记(二):神经网络基础 深度学习入门笔记(三):感知机 深度学习入门笔记(四):神经网络 深度学习入门笔记(五) ...
- ROS学习笔记五:理解ROS topics
ROS学习笔记五:理解ROS topics 本节主要介绍ROS topics并且使用rostopic和rqt_plot命令行工具. 例子展示 roscore 首先运行roscore系列服务,这是使用R ...
最新文章
- 从零开始学Win32平台缓冲区溢出(Part1)
- API设计中防重放攻击
- PMP知识点(六、质量管理)
- 解压bzi2文件出错,分析和处理
- C语言版:装饰器模式
- 8 年经验面试官解读程序员的技能瓶颈,以及突破瓶颈的忠告 | CSDN 博文精选
- Java Collection框架入门
- MySQL入门学习笔记
- redis列表list常用命令大全
- 做外贸建站和营销的注意事项
- bzoj3097: Hash Killer I
- 树莓派+SAKS扩展板实现数码管时钟
- stm32h7能跑linux,STM32H7榨干了Cortex-M7的最后一滴血
- AlertManager实现企业微信报警(十三)
- 大魔王程序员生成记#06.1#C语言习题
- Nginx:12---反向代理之(代理模块,代理单个上游服务器)
- windows执行cygwin慢问题
- linux运维自动化脚本,linux运维自动化shell脚本小工具
- 在线tcp测试,tcp测试
- Web项目中完成百度地图GPS定位