Почему моя ссылка не работает при внедрении 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 <a href="" ng-click="followLink('best-fit-line', 'charts')">Best Fit Line</a>). 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 не имеет возможности обработать ссылку при ее внедрении? Есть ли другой подход к решению этой проблемы, о котором я не думаю?