Я использую железные страницы. Внутри четыре элемента, одна - сетка карт, а остальные - проекты карт. Ничего особенного. Вне железных страниц я добавил несколько навигационных кнопок (следующий и предыдущий) с фиксированными позициями.Как использовать скрытый attr только на определенной странице, когда выбрано
<iron-pages id="pages" class="flex" attr-for-selected="page" selected="{{pageSelected}}">
<my-grid id="grid" page="grid"></my-grid>
<page-alpha page="alpha"></page-alpha>
<page-beta page="beta"></page-beta>
<page-gamma page="gamma"></page-gamma>
</iron-pages>
<!-- Navigation Buttons -->
<div id="controls" class="buttons" hidden$="{{_hideControls}}">
<button-previous id="previous" on-tap="_goPrev"></button-previous>
<button-next id="next" on-tap="_goNext"></button-next>
</div>
Мой вопрос: как скрыть в полимерном способе кнопки навигации только тогда, когда я нахожусь на странице сетки?
У меня есть идея, но я думаю, что синтаксис является неправильным, или что-то отсутствует
<script>
_hideControls: function(){
if (this.pageSelected = 'grid') {
this.$.controls.hide();
} else {
this.$.controls.show();
}
}
</srcipt>
Спасибо, по-видимому, это работает только, чтобы скрыть элементы управления и не появляется снова, даже если выбранная страница изменяется на другой. есть идеи?. я буду исследовать в документах немного больше –
Да, если вы хотите, чтобы он также изменил значение, когда происходят изменения, вам необходимо передать 'pageSelected' в метод. См. Отредактированную часть сообщения! :) – Whyser
Я копался в этом решении, сначала не работал, но затем дважды проверял, и у меня была ошибка типа в моем обходном пути.Это тоже работает, я изменил синтаксис функции, чтобы быть более упрощенным для оператора условного (тройного): _hideControls: function (pageSelected) { return this.pageSelected === 'grid'? true: false; } –