2017-09-15 25 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,即第一個版本是面向未來的,如果騷亂決定開始選擇使用單逗號。