2017-09-15 43 views
1

如何检查防暴标签是否已被加载和编译(带有脚本标签的浏览器中),以避免再次以编程方式执行此操作。如何检查防暴标签是否存在?

换句话说,在我的简化代码中,我应该用什么来代替doTagExist函数?

if (!doesTagExist('my-tag')) { 
    riot.compile('/path/to/my-tag', function() { 
     riot.mount('dom-node', 'my-tag'); 
    }); 
} else { 
    riot.mount('dom-node', 'my-tag'); 
} 

回答

0

也有同样的问题。经过一些研究后,我认为你不能直接得到它。实现存储在__TAG_IMPL内部,不能从外部访问。但是,您可以通过riot.util.tags.selectTags()访问所有实施标签的选择器,该选项返回逗号分隔的选择器列表,即datepicker,[data-is="datepicker"]

为了方便

riot.util.tags.selectTags().search(/(^|,)my-tag($|,)/g) >= 0 

或者根据你的纯洁倾斜

riot.util.tags.selectTags().search('"my-tag"') 

注意Oneliner,即第一个版本是面向未来的,如果骚乱决定开始选择使用单逗号。