Как применить логический оператор в скрипте Google amp? - PullRequest
1 голос
/ 30 апреля 2020

Применительно к Google AMP у меня есть следующий код:

<a [href]="'?view=amp&constraint=' + selectedOption1 + '&sort_by=' + selectedSorting"> Submit </a>

Я хотел бы отобразить '?view=amp&constraint=', только если существует значение selectedOption1.

Как можно Я достиг того же самого?

Я попробовал следующее:

<a [href]="'?view=amp&amp;constraint=' + (selectedOption1 || '') + '&amp;sort_by=' + (selectedSorting || '')" > </a>

1 Ответ

2 голосов
/ 02 мая 2020

Вы должны выполнить условную операцию для selectedOption1. Вот пример для вашей ссылки с двумя кнопками, которые изменят состояние selectedOption1 и, соответственно, вы можете проверить значение href якорного тега, и для быстрого просмотра я использовал тег абзаца, чтобы отобразить то же значение, что и href в абзаце. Надеюсь, это вам поможет.

Чтобы запустить этот код, скопируйте весь код и замените его частью тела на здесь AMP Playground, просто убедитесь, что вы импортировали amp-bind js на странице с примерами игровых площадок.

<p [text]="selectedOption1 ? 'https://www.example.com?view=amp&constraint=' + selectedOption1 + '&sort_by=' + selectedSorting : 'www.example.com'">

</p>
  <a href="#" [href]="selectedOption1 ? 'https://www.example.com?view=amp&constraint=' + selectedOption1 + '&sort_by=' + selectedSorting : 'https://www.example.com'">
  Link
</a>
 </br>

<button on="tap:AMP.setState({selectedOption1: 'Interactivity',selectedSorting:'orderby_date'})">
  Say "Hello Interactivity"
</button>
<button on="tap:AMP.setState({selectedOption1: '',selectedSorting:''})">
  Say "Blank"
</button>
...