Почему моя ссылка не работает при внедрении Javascript?

Я разрабатываю приложение AngularJS, и у меня есть этот абзац в HTML:

      <p id="CEBM_HELP_DETAILS_CHANGE_POINTS_BLURB" class="section-paragraph justify-paragraph margin-bottom-30">
This is my paragraph (see <a href="" ng-click="followLink('best-fit-line', 'charts')">Best Fit Line</a>). This is more of my paragraph.
</p>

Абзац отображается нормально, и ссылка работает правильно.

Однако теперь мне нужно переместить этот абзац в наш resx-файл, чтобы его можно было перевести на другие языки. Итак, теперь это здесь:

        <data name="CEBM_HELP_DETAILS_CHANGE_POINTS_BLURB" xml:space="preserve">
    <value>
      This is my paragraph (see &lt;a href="" ng-click="followLink('best-fit-line', 'charts')"&gt;Best Fit Line&lt;/a&gt;). This is more of my paragraph.
    </value>
  </data>

Обычно мы берём содержимое resx-файла и вставляем его в DOM посредством интерполяции и передачи через канал «перевода», вот так:

{{ 'CEBM_HELP_DETAILS_CHANGE_POINTS_BLURB' | переводить }}

Но в данном случае, поскольку абзац содержит элементы HTML (т. е.<a href="" ng-click="followLink('best-fit-line', 'charts')">Best Fit Line</a>), ему необходимо правильно отобразить эти элементы, а такое внедрение не дает этого. в конце концов я вижу<a>...</a>на странице.

Поэтому вместо этого я пытаюсь сделать это:

      function injectLanguageItem(itemKey) {
    var text = $filter('translate')(itemKey);
    var container = document.querySelector('#' + itemKey);
    container.innerHTML += text;
}

injectLanguageItem('CEBM_HELP_DETAILS_CHANGE_POINTS_BLURB');

Это работает в том, что касается рендеринга HTML-элементов, но теперь, когда я нажимаю на гиперссылку, она не вызывает функцию FollowLink(); вместо этого он обновляет страницу.

Странно то, что DOM выглядит одинаково в каждом случае, когда я его проверяю:

Вот как это выглядит, когда я помещаю абзац непосредственно в HTML, а также, как он выглядит, когда я вставляю его из файла resx.

Кто-нибудь знает, почему моя ссылка не работает, когда я ее ввожу? Имеет ли это какое-либо отношение кng-clickв том, что Angular не имеет возможности обработать ссылку при ее внедрении? Есть ли другой подход к решению этой проблемы, о котором я не думаю?

0 ответов

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