全局初始注册图片图标十分有意义且有必要,如ht.Default.setImage(aa,‘xxx.json‘),特别是注册有数据绑定变量暴露的symbol图标(包括渲染元素),在代码使用node.se

问题:数据绑定暴露的变量为xxx,node.setImage()后不能马上调用node.a(xxx,)吧?

答案:是的,图片资源未加载完成,其中数据绑定默认值获取不到。

两个都叫setImage,但是意义和作用不一样。

ht.Default.setImage是用来注册图标图片,将图标加载到内存中,注意并非仅仅提供个别名,也不会序列化保存到json文件里,下次使用还需要调用该函数注册。

图标注册的用途是让加载json从内存中取数据,加载操作为同步调用并非文件形式异步加载,方便紧接着的逻辑处理,比如调用node.a(xxx)获取或设置图标数据绑定暴露的变量,显然这需要加载完成json形成对象属性后调用才能成功。

ht.Node().setImage就是API形式对应组态中每个图标图元都会有的一个“图片”Image属性,这里放入png或json图标文件的路径,显然直接输入json路径对文件是异步加载,就需对应加载完毕响应函数:

JavaScript
ht.Default.handleImageLoaded = function(name, img) {
    /*全局函数,参数name是图片图标路径名称,img是对应路径加载后的文件内容
    注意,只会初次加载的时候会调用,多次不同对象对同一个路径图标的加载,只会首次
    加载并保存到内存中,重复使用不会加载也不会响应本函数。后续可立即访问图标暴露
    的数据绑定变量,不需要考虑异步加载完毕后之类。*/
    /*比如多个图元实例加载同一个图标json,图标数据绑定的变量在图元中分别再赋值,
    本全局函数无法区分是哪个图元setImage调用的加载,因为只会初次调用一次!
    ht.Default.setImage(xx,'yy.json')注册图片到内存,node.setImage(xx)后
    可立即同步使用node.a(xxx,)等操作*/
}

Namespace: Default | HT for Webicon-default.png?t=M85Bhttps://www.hightopo.com/guide/doc/ht.Default.html#.handleImageLoaded

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IOTOS

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值