Я бы очень признателен за некоторые советы по этому поводу. У меня есть оператор compile внутри функции ссылки моей директивы:
element.replaceWith($compile(
'<div>Big chunk' +
'of html</div>' +
)(scope));
Есть ли более чистый способ заменить вышеуказанный html внутри строки ссылкой на файл? Также учитывая, что указанная выше строка вызывается много раз (30-40 + раз внутри ng-repeat), будут ли какие-либо образы производительности от HTTP-запросов к файлу/было бы против лучших практик для привязки к фактическому файлу?
То, что вы ищете, является свойством templateUrl
директивы. Кроме того, при соединении с запросом на угловой стороне сервера служба, называемая $templateCache
которая приведет к загрузке любого загруженного html файла, будет скомпилирована и сохранена там, поэтому для получения большого HTML-кода не будет накладных расходов за пределами одного запроса на сервер.
$templateCache
: https://docs.angularjs.org/api/ng/service/ $ templateCache
Это автоматически будет заполнено как часть любой директивы. Поэтому вы можете просто использовать его.
ng-bind-template
илиng-include
?