如何检查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');
}发布于 2017-12-09 05:05:11
也有同样的问题。经过一些研究后,我认为你不能直接得到它。实现存储在无法从外部访问的__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"')请注意,如果riot决定在选择器中开始使用单逗号,那么第一个版本是面向未来的。
https://stackoverflow.com/questions/46236607
复制相似问题