2017-09-15 5 views
1

폭동 태그가 프로그래밍 방식으로 다시 수행되는 것을 피하기 위해 폭동 태그가 이미로드되고 (스크립트 태그가있는 브라우저 내에서) 컴파일되었는지 확인할 수 있습니까?진압 태그가 있는지 확인하는 방법은 무엇입니까?

즉, 아래의 간단한 코드에서 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'); 
} 

답변

0

같은 문제가 있습니다. 연구 조금 후에 나는 당신이 그것을 직접적으로 얻을 수 없다고 생각합니다. 구현은 외부에서 액세스 할 수없는 __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"') 

주를 따라가, 그 첫 번째 버전은 미래 지향적이다.