如何检查是否已经加载和编译了一个防暴标记(在浏览器中添加了脚本标记),以避免以编程方式再次执行此操作。
换句话说,在我的简化代码中,我应该使用什么代替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 :(得分:1)
有同样的问题。经过一番研究后,我认为你不能直接得到它。实现存储在__TAG_IMPL中,无法从外部访问。但是,您可以通过riot.util.tags.selectTags()
访问所有已实施标签的选择器,该标签返回逗号分隔的选择列表,即datepicker,[data-is="datepicker"]
。
为方便起见,Oneliner
riot.util.tags.selectTags().search(/(^|,)my-tag($|,)/g) >= 0
或取决于您的纯度倾向
riot.util.tags.selectTags().search('"my-tag"')
注意,如果暴乱决定开始在选择器中使用单个逗号,则第一个版本是面向未来的。