如何检查 riot 标签是否已加载并编译(在浏览器中使用脚本标签),以避免以编程方式再次执行此操作。
换句话说,我应该在下面的简化代码中使用什么来代替 doesTagExist 函数?
if (!doesTagExist('my-tag')) {
riot.compile('/path/to/my-tag', function() {
riot.mount('dom-node', 'my-tag');
});
} else {
riot.mount('dom-node', 'my-tag');
}
最佳答案
有同样的问题。经过一番研究,我认为你无法直接获得它。实现存储在 __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"')
请注意,如果 riot 决定开始在选择器中使用单逗号,那么第一个版本是面向 future 的。
关于riot.js - 如何检查防暴标签是否存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46236607/