Почему Riot JS оценивает это как javascript

У меня есть основной тег кнопки, с которым я экспериментирую, и я не уверен, почему Riot JS не отображает нижеприведенное.

Если я заверну "Логин" в <span> тег это правильно отображает.

Я ожидаю, что, потому что я определил мой <script> внутри моего пользовательского тега бунта, тогда он будет оцениваться как HTML. Вместо этого я получаю Login is not defined ошибка в моем браузере.

Есть ли способ уйти от этого текста, если я хочу, чтобы он отображался как HTML, или я что-то упустил?

<login-button class="mdl-button mdl-js-button mdl-button--raised mdl-button--accent">

  Login

  <script type="coffee">

    @hello = 'world'

  </script>

</login-button>

1 ответ

Для достижения желаемого результата вы можете использовать <yield/> тег в вашем собственном теге.

<login-button class="mdl-button mdl-js-button mdl-button--raised mdl-button--accent">

  <yield/>

  <script type="coffee">

    @hello = 'world'

  </script>

</login-button>

Затем, где вы вызываете тег, добавьте желаемый текст, т.е.

<login-button>
  Login Button Text
</login-button>

Ссылка: http://riotjs.com/api/#a-nameyielda-yielding-nested-html

Другие вопросы по тегам