为什么我用dojo.parser.parse(dom节点)两次会出错

我想用分部分加载HTML到页面,当把上一次加载进来parse后,再点一下加载HTML进来parse就出错了.请问这是为什么,或者说如何做到可以多次加载HTML进来并转换为... 我想用分部分加载HTML到页面,当把上一次加载进来parse后,再点一下加载HTML进来parse就出错了.请问这是为什么,或者说如何做到可以多次加载HTML进来并转换为dojo类型的节点 展开
 我来答
迷恋信仰
推荐于2017-11-25
知道答主
回答量:30
采纳率:0%
帮助的人:20.5万
展开全部
dojo的parser会把html节点根据所声明的类型(data-dojo-type)转化为相应的dijit组件的template(dojo类型的节点),并且会给这些相应的template赋上对应的id,属性等等,并且把组件的id注册到dijit.registry里。在注册到registry的过程中,如果没有显式的指定id,则registry会生成一个自增的id赋值给相应的组件,如果显式的指定id,则使用指定的id。如果对同一节点多次parse操作,并且这些节点中有指定id的情况,就会出现你说的这种情况,报的错应该是Tried to register widget with id==xxx but that id is already registered。如果想分步加载并且多次parse,可以加载一个节点parse一个节点。或者在代码中调用dijit组件的startup方法也可实现parse的同样效果。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式