我使用Pure JS指令进行渲染:
http://beebole.com/pure/documentation/rendering-with-directives/
如果模板中的节点丢失,Pure JS的默认行为将由于以下原因而崩溃:
在模板中找不到节点“XXX”
此默认行为完全可以理解,因为它可确保模板中不存在任何不一致。但是,在相同的情况下,人们希望跳过失败的赋值并继续执行其余的赋值(可能记录错误),以避免整个渲染因单个错误/错误而失败。
有没有办法用Pure JS获得这种行为?我可以告诉Pure JS只是“如果它存在”渲染元素吗?
答案 0 :(得分:3)
不幸的是,Pure JS(版本:2.79 )的当前稳定版本不允许呈现元素“如果它存在”?
以下Pure代码段显示了如何抛出错误:
if(selector === '.' || ( !selector && attr ) ){
target[0] = dom;
}else{
target = plugins.find(dom, selector);
}
if(!target || target.length === 0){
return error('The node "' + sel + '" was not found in the template:\n' + outerHTML(dom).replace(/\t/g,' '));
}
正如您所看到的,如果找不到target
(通过诸如jQuery,dojo等库之一),则会抛出提到的错误。
我在这种情况下使用的解决方法如下: