Я создал некоторые пользовательские элементы, теперь я пишу тесты для них.Невозможно выбрать элементы внутри шаблона автоматической привязки
Я хотел использовать "auto-binding", потому что у меня есть много атрибутов, которые должны быть связаны между моими элементами.
К сожалению, я не могу запросить элемент внутри шаблона.
Вот несколько кодов.
<template id="root" is="auto-binding">
<dalilak-data-service id="dds" regions="{{regions}}"></dalilak-data-service>
<dalilak-regions-handler id="drh" regions="{{regions}}" flattendedRegions="{{flattendRegions}}" descendantsRegionNames="{{descendantsRegionNames}}" regionsByNameId="{{regionsByNameId}}"></dalilak-regions-handler>
</template>
В тестовом сценарии я попытался следующий
drh = document.querySelector('#drh');
suite('dalilak-regions-handler', function() {
test('handler initialized', function() {
assert.ok(drh);
});
});
также попытался это:
drh = document.querySelector('* /deep/ #drh'); // or '#root /deep/ #drh'
suite('dalilak-regions-handler', function() {
test('handler initialized', function() {
assert.ok(drh);
});
});
Но ни один из них не работал.
Примечание без шаблона Я могу запросить мои пользовательские элементы.
Шаблон - это только _stencil_, который описывает, как создать DOM. Техника в этом ответе вернет только инертные элементы шаблона. Вы действительно хотите, чтобы элементы экземпляра, которые будут доступны в документе, как обычно, после штампа шаблона (который является асинхронным). –