Держу пари, на этот вопрос уже что-то ответили, но я прихожу пустым.Каков правильный способ импорта и компиляции внешнего HTML в угловой контроллер?
Я использую Angular 1.5.7 и хочу импортировать некоторый внешний HTML в моем проекте в компонентный контроллер (для использования в всплывающей подсказке), и я не могу понять, как это сделать.
Моя структура в папке просто так:
- component.js
- component_template.html
- other_html.html
Я попытался следующие, используя WebPack с загрузчиками html и ngTemplate (настроен в моей конфигурации webpack): над декларацией моего контроллера я добавляю
import other_html from './other_html.html';
который точно как я получаю шаблон для просмотра (и который работает без дальнейшей суматохи):
import component_template from './component_template.html';
angular.module(module).component('name', {templateUrl: component_template}, ...);
Внутри контроллера компонента, я пробовал различные комбинации $ sce.trustAsUrl, $ sce.getTrustedHtml и $ sce.getTrustedUrl, чтобы развернуть содержимое моего внешнего HTML (в переменной «other_html») в виде строки, но, откровенно говоря, эти вещи меня просто путают, а документация не помогает. Также кажется, что мне нужно будет скомпилировать результирующую строку в области моего контроллера, но сначала мне нужна строка HTML (я продолжаю констатировать строку URL).
Может ли кто-нибудь продемонстрировать для меня лучший способ сделать это, используя или не полагаясь на WebPack и загрузчики html и ngTemplate в этом процессе?
Thanks
Вы можете использовать 'template' вместо' templateUrl' – batmaniac7
, почему бы вам не сделать директиву для внешнего шаблона и использовать его. это поможет вам во многих отношениях, например, повторном использовании, ремонтопригодности ... – varit05
@ varit05 - Кажется, излишний, чтобы просто получить некоторый внешний html в мой контроллер, чтобы назначить ввод в другую директиву.Я полагаю, что было бы неплохо добавить функциональность в мою директиву об упаковке для работы с импортом контента из внешнего html, но я занимаюсь большим количеством работы над крупным проектом, и просто работа в контроллере хороша достаточно на данный момент. – Jasman