riot.js - 如何检查防暴标签是否存在?

标签 riot.js

如何检查 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/

相关文章:

javascript - 防暴 2 : Attribute with falsy value

riot.js - 如何更新防暴标签的属性?

javascript - 提高事件密集型防暴应用程序的代码质量/组织

javascript - Uncaught ReferenceError : function is not defined error when calling riot function

javascript - 从 DOM 中删除时自动卸载

javascript - 防暴: nested <inner-html> tag not working

javascript - 如何使用 webpack 丑化 javascript

javascript - 我如何访问 riot.js 中的子元素

javascript - riotjs触发表单onsubmit