Я хочу разбить мой html файл (на основе углов). однако я не хочу использовать ng-include, поскольку он загружает его, отображается ли оно или нет. Я хочу включить его, если условие ng-if истинно.
У меня есть два абзаца (может быть реструктурирован), и только один из абзацев показан за один раз (на основе ng-if), если я использую ng-include, я перезаряжаю их, и я не хочу этого.
Можете ли вы порекомендовать мне что-то лучше?
EDIT: Я понял, что получил устаревшую версию Angular и не могу использовать ng-if и только ng-show. Что я могу сделать?
Мой ответ - использовать препроцессор для замены файлов HTML (и машинописного текста) на основной. Я считаю, что CLI поддерживает запуск произвольного препроцессора. Что-то вроде этого:
mainfile.ts:
// {Include: my_sub_file.ts}
// {Include: my_other_file.ts}
// {Include: another_sub_file.ts}
mainfile.html:
<!-- Include: my_sub_file.ts -->
<!-- Include: my_other_file.ts -->
<!-- Include: another_sub_file.ts -->
При добавлении программы или сценария, который просто подставляет значения для всего содержимого файла другого файла. Angular никогда не узнает, что это произошло, и вы можете оставаться более организованным. Вы можете использовать скрипт, чтобы сделать это быстро, например, Python или другой скрипт nodejs.
Просто примечание об автоматическом перестроении, потому что Angular не знает, что вы делаете это, он не будет знать, когда вы внесете изменения в один из файлов. Итак, какое бы решение вы ни использовали для подстановок, необходимо отслеживать исходные файлы на предмет изменений.
Создайте параметр в области:
$scope.partToShow = 1;
И что-то вроде этого на переднем конце:
<div ng-if="partToShow === 1" ng-include="'/firstpart.html'">
</div>
<div ng-if="partToShow === 2" ng-include="'/secondpart.html'">
</div>
Сначала это будет показано вначале.
Измените $scope.partToShow
на 2
чтобы показать только secondPart.
ng-show
илиng-if
прямо в элементы<p>
которые должны быть условно показаны / скрыты?