首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏進无尽的文章

    编码篇 — 一个DataModel小例领略指针的魅力

    做过的项目中曾经有这样的需求:货品录入(商品入库),弹框弹出所有的货品(很多),选择其中的一个,则下次弹框弹出所有货品时不再显示选择了的那件货品。当然,录入功能包括,删除已选择的货品,则下次弹框弹出所有货品时再次显示出刚删除的货品

    51730发布于 2018-09-12
  • 来自专栏HT

    HTML5五种客户端离线存储方案

    整个示例主要就是将HT for Web的DataModel数据模型信息进行序列化和反序列化,这个过程很简单通过dataModel.serialize()将模型序列化成JSON字符串,通过dataModel.deserialize ['DataCount'] = dataModel.size(); console.log(dataModel.size() + ' datas are saved'); return value; } function restore(dataModel){ var value = window.localStorage['DataModel']; if(value value; } function restore(dataModel){ var value = getCookieValue('DataModel'); if(value){ () + ' datas are saved'); }; return dataModel.serialize(); } function restore(dataModel){

    3.6K60发布于 2018-01-03
  • 来自专栏hightopo

    HTML5的五种客户端离线存储方案

    整个示例主要就是将HT for Web的DataModel数据模型信息进行序列化和反序列化,这个过程很简单通过dataModel.serialize()将模型序列化成JSON字符串,通过dataModel.deserialize ['DataCount'] = dataModel.size();     console.log(dataModel.size() + ' datas are saved');     return  value; } function restore(dataModel){       var value = window.localStorage['DataModel'];     if(value  value; } function restore(dataModel){       var value = getCookieValue('DataModel');     if(value){ () + ' datas are saved');     };         return dataModel.serialize(); } function restore(dataModel){

    2.3K50发布于 2018-07-09
  • 来自专栏hightopo

    原 HTML5五种客户端离线存储方案

    整个示例主要就是将HT for Web的DataModel数据模型信息进行序列化和反序列化,这个过程很简单通过dataModel.serialize()将模型序列化成JSON字符串,通过dataModel.deserialize ['DataCount'] = dataModel.size();     console.log(dataModel.size() + ' datas are saved');     return  value; } function restore(dataModel){       var value = window.localStorage['DataModel'];     if(value  value; } function restore(dataModel){       var value = getCookieValue('DataModel');     if(value){ () + ' datas are saved');     };         return dataModel.serialize(); } function restore(dataModel){

    2K40发布于 2018-06-05
  • 来自专栏HT

    通过 WebSocket 实现 WebGL 3D 拓扑图实时数据通讯同步(二)

    在服务端我们该如何创建 HT 的 DataModel 和 ForceLayout 呢? /build/ht-debug.js').ht, dataModel = new ht.DataModel(), reloadModel = require(".. /util.js").reloadModel; reloadModel(dataModel, { A: 3, B: 5 }); require("../../.. (edge); return edge; } function reloadModel(dataModel, info){ dataModel.clear(); var ip ; i++) { var iNode = createNode(dataModel, ip + count++); createEdge(dataModel, root,

    1K70发布于 2018-01-03
  • 来自专栏hightopo

    原 基于HTML5 Canvas 点击添加

    例子地址:http://hightopo.com/guide/guide/core/datamodel/examples/example_datamodel.html ? = new ht.DataModel(); g3d = new ht.graph3d.Graph3dView(dataModel); g3d.setGridVisible(true);//设置网格可见 dataModel.sm().ld()) return; dataModel.remove(dataModel.sm().ld()); } function clearDataModel(){ ht.SelectionModel管理 DataModel 模型中 Data 对象的选择状态, 每个 DataModel 对象都内置一个 SelectionModel 选择模型,控制这个 SelectionModel 即可控制所有绑定该 DataModel 的组件的对象选择状态, 这意味着共享同一 DataModel 的组件默认就具有选中联动功能。

    2.5K40发布于 2018-07-06
  • 来自专栏HT

    基于 WebSocket 实现 WebGL 3D 拓扑图实时数据通讯同步(二)

    在服务端我们该如何创建 HT 的 DataModel 和 ForceLayout 呢? /build/ht-debug.js').ht, dataModel = new ht.DataModel(), reloadModel = require(".. /util.js").reloadModel; reloadModel(dataModel, { A: 3, B: 5 }); require("../../.. (edge); return edge; } function reloadModel(dataModel, info){ dataModel.clear(); var ip ; i++) { var iNode = createNode(dataModel, ip + count++); createEdge(dataModel, root,

    1K70发布于 2018-01-03
  • 来自专栏HT

    HTML5 Web 客户端五种离线存储方式汇总

    整个示例主要就是将HT for Web的DataModel数据模型信息进行序列化和反序列化,这个过程很简单通过dataModel.serialize()将模型序列化成JSON字符串,通过dataModel.deserialize ['DataCount'] = dataModel.size(); console.log(dataModel.size() + ' datas are saved'); return value; } function restore(dataModel){ var value = window.localStorage['DataModel']; if(value value; } function restore(dataModel){ var value = getCookieValue('DataModel'); if(value){ () + ' datas are saved'); }; return dataModel.serialize(); } function restore(dataModel){

    1.3K30编辑于 2022-05-10
  • 来自专栏HT

    HTML5的五种客户端离线存储方案

    整个示例主要就是将HT for Web的DataModel数据模型信息进行序列化和反序列化,这个过程很简单通过dataModel.serialize()将模型序列化成JSON字符串,通过dataModel.deserialize ['DataCount'] = dataModel.size(); console.log(dataModel.size() + ' datas are saved'); return value; } function restore(dataModel){ var value = window.localStorage['DataModel']; if(value value; } function restore(dataModel){ var value = getCookieValue('DataModel'); if(value){ () + ' datas are saved'); }; return dataModel.serialize(); } function restore(dataModel){

    2.7K20编辑于 2022-05-10
  • 来自专栏HT

    基于HTML5 Canvas 实现地铁站监控

    接下来 HT 将利用  ht.Default.xhrLoad 函数载入 JSON 场景,并用 HT 封装的 DataModel.deserialize(json) 来反序列化,并将反序列化的对象加入 DataModel 我们这边通过在 JSON 中设置 Data 对象的 tag 属性,在代码中通过 dataModel.getDataByTag(tag) 函数来获取该 Data 对象: var fan1 = dataModel.getDataByTag ('fan1'); var fan2 = dataModel.getDataByTag('fan2'); var camera1 = dataModel.getDataByTag('camera1'); var camera2 = dataModel.getDataByTag('camera2'); var camera3 = dataModel.getDataByTag('camera3'); var redAlarm = dataModel.getDataByTag('redAlarm'); var yellowAlarm = dataModel.getDataByTag('yellowAlarm

    1.2K50发布于 2018-01-03
  • 来自专栏DannyHoo的专栏

    底牌项目中设置论坛中各个模块头图的代码

    ;         [heightArr addObject:height];     } // 设置头视图的内容 - (void)setDataModel:(PostDaraModel *)dataModel { _dataModel = dataModel;     [_iconView sd_setImageWithURL:[NSURL URLWithString:_dataModel.face] placeholderImage:[UIImage imageNamed:@"touxiang_moren"]]; _nameView.text = _dataModel.username; _ timeView.text = _dataModel.addtime; _titleView.text = _dataModel.title; _textView.text = _dataModel.content ) { //        NSLog(@"%@", _dataModel.imgs);         botLineY = CGRectGetMaxY(_picView.frame) + 14

    88430发布于 2018-09-13
  • 来自专栏Android群英传

    FlutterDojo设计之道—状态管理之路(七)

    ; bool isCheck; int likeCount; ItemModel(this.title, this.isCheck, this.likeCount); } class DataModel return ListView.builder( itemBuilder: (context, index) { return Selector<DataModel, ItemModel>( Expanded( child: Selector<DataModel, DataModel>( shouldRebuild: (pre, next) => pre.shouldListRebuild , selector: (context, dataModel) => dataModel, builder: (BuildContext context, DataModel dataModel , DataModel>,这里只借助了Selector的shouldRebuild功能,所以并没有对数据做筛选,完整的代码大家请参考Dojo中的实现。

    1.2K10发布于 2020-10-27
  • 来自专栏业余草

    Html5 Web的5中离线存储方式之localStorage

    /** * 保存/更新数据 */ function saveDm(dataModel){ window.localStorage['DataModel'] = dataModel; } / ** * 获取数据 */ function getDm(){ var value = window.localStorage['DataModel']; if(value){ value; } return ''; } /** * 删除数据 */ function clearDm(){ if(window.localStorage['DataModel ']){ delete window.localStorage['DataModel']; } }

    1.9K40发布于 2019-01-21
  • 来自专栏HT

    基于HTML5 Canvas 点击添加 2D 3D 机柜模型

    例子地址:http://hightopo.com/guide/guide/core/datamodel/examples/example_datamodel.html [图片] 这是我改造之后的模样,将 = new ht.DataModel(); g3d = new ht.graph3d.Graph3dView(dataModel); g3d.setGridVisible(true);//设置网格可见 dataModel.sm().ld()) return; dataModel.remove(dataModel.sm().ld()); } function clearDataModel(){ ht.SelectionModel管理 DataModel 模型中 Data 对象的选择状态, 每个 DataModel 对象都内置一个 SelectionModel 选择模型,控制这个 SelectionModel 即可控制所有绑定该 DataModel 的组件的对象选择状态, 这意味着共享同一 DataModel 的组件默认就具有选中联动功能。

    1.6K80发布于 2018-01-03
  • 来自专栏hightopo

    基于 WebSocket 实现 WebGL 3D 拓扑图实时数据通讯同步(二)

    在服务端我们该如何创建 HT 的 DataModel 和 ForceLayout 呢? /build/ht-debug.js').ht, dataModel = new ht.DataModel(), reloadModel = require(".. /util.js").reloadModel; reloadModel(dataModel, { A: 3, B: 5 }); require("../../.. (edge); return edge; } function reloadModel(dataModel, info){ dataModel.clear(); var ip ; i++) { var iNode = createNode(dataModel, ip + count++); createEdge(dataModel, root,

    77720发布于 2018-07-09
  • 来自专栏HT

    HT for Web可视化QuadTree四叉树碰撞检测

    采用QuadTree算法将大大减少需要测试碰撞的次数,从而提高游戏刷新性能,本文例子基于HT for Web的图形引擎,通过GraphView和Graph3dView共享同一数据模型DataModel, 我构建了HT的GraphView和Graph3dView两个组件,通过ht.widget.SplitView左右分割,由于两个视图都共享同一DataModel,因此我们剩下的关注点仅是对DataModel 所有代码如下供参考: function init(){ d = 200; speed = 8; dataModel = new ht.DataModel(); g3d = new ht.graph3d.Graph3dView(dataModel); g2d = new ht.graph.GraphView(dataModel); mainSplit = new ht.widget.SplitView(g3d

    1.5K90发布于 2018-01-03
  • 来自专栏hightopo

    原 基于HTML5 Canvas 实现地铁

    接下来 HT 将利用  ht.Default.xhrLoad 函数载入 JSON 场景,并用 HT 封装的 DataModel.deserialize(json) 来反序列化,并将反序列化的对象加入 DataModel 我们这边通过在 JSON 中设置 Data 对象的 tag 属性,在代码中通过 dataModel.getDataByTag(tag) 函数来获取该 Data 对象: var fan1 = dataModel.getDataByTag ('fan1'); var fan2 = dataModel.getDataByTag('fan2'); var camera1 = dataModel.getDataByTag('camera1'); var camera2 = dataModel.getDataByTag('camera2'); var camera3 = dataModel.getDataByTag('camera3'); var redAlarm = dataModel.getDataByTag('redAlarm'); var yellowAlarm = dataModel.getDataByTag('yellowAlarm

    1.1K30发布于 2018-07-06
  • 来自专栏HT

    HT for Web基于HTML5的图像操作(一)

    dataModel = new ht.DataModel(); graphView = new ht.graph.GraphView(dataModel); graphView.addToDOM(); var root = new ht.Node(); root.setImage('ht-for-web.png'); dataModel.add ht.Node(); node.setImage('ht-for-web.png'); node.s({ 'body.color': color }); dataModel.add image.src = 'banner.png';// 'ht-for-web.png'; image.onload = function(){ dataModel = new ht.DataModel(); graphView = new ht.graph.GraphView(dataModel);

    1.7K90发布于 2018-01-03
  • 来自专栏HT

    3D拓扑自动布局之Web Workers篇

    = new ht.DataModel(); g3d = new ht.graph3d.Graph3dView(dataModel); = new ht.DataModel(); forceLayout = new ht.layout.Force3dLayout(dataModel); forceLayout.onRelaxed = function(){ var result = {}; dataModel.each(function(data){ if(data instanceof ht.Node if(data){ data.p3(info.moveMap[id]); dataModel.sm().as(data); } } } else{ reloadModel(dataModel, info); } }, false

    1.8K100发布于 2018-01-03
  • 来自专栏hightopo

    HT for Web可视化QuadTree四叉树碰撞检测

    采用QuadTree算法将大大减少需要测试碰撞的次数,从而提高游戏刷新性能,本文例子基于HT for Web的图形引擎,通过GraphView和Graph3dView共享同一数据模型DataModel, 我构建了HT的GraphView和Graph3dView两个组件,通过ht.widget.SplitView左右分割,由于两个视图都共享同一DataModel,因此我们剩下的关注点仅是对DataModel 所有代码如下供参考: function init(){   d = 200; speed = 8; dataModel = new ht.DataModel();                                 g3d = new ht.graph3d.Graph3dView(dataModel);                                                   g2d  = new ht.graph.GraphView(dataModel);                    mainSplit = new ht.widget.SplitView(g3d, g2d

    91610发布于 2018-07-09
领券