Разделение HTML угловых файлов

0

Я хочу разбить мой html файл (на основе углов). однако я не хочу использовать ng-include, поскольку он загружает его, отображается ли оно или нет. Я хочу включить его, если условие ng-if истинно.

У меня есть два абзаца (может быть реструктурирован), и только один из абзацев показан за один раз (на основе ng-if), если я использую ng-include, я перезаряжаю их, и я не хочу этого.

Можете ли вы порекомендовать мне что-то лучше?

EDIT: Я понял, что получил устаревшую версию Angular и не могу использовать ng-if и только ng-show. Что я могу сделать?

  • 0
    Почему вы не можете поместить директиву ng-show или ng-if прямо в элементы <p> которые должны быть условно показаны / скрыты?
  • 0
    Я хочу разделить мои файлы. Я не хочу работать с тем же html-файлом (причина, по которой я написал этот вопрос)
Показать ещё 2 комментария
Теги:
ng-grid

2 ответа

0

Мой ответ - использовать препроцессор для замены файлов 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 не знает, что вы делаете это, он не будет знать, когда вы внесете изменения в один из файлов. Итак, какое бы решение вы ни использовали для подстановок, необходимо отслеживать исходные файлы на предмет изменений.

  • 0
    Кстати, мы реализовали это для большого проекта, и это очень помогло. Мы использовали консольное приложение c # для выполнения подстановок - я удивлен, что никто не сделал общедоступное решение с открытым исходным кодом, все просто говорят разделить вещи на компоненты, которые раздувают программу с помощью наблюдаемых и обещаний, входов и выходов, которых вы никогда не сделаете нужны, если не для организации вашего исходного кода. Конечно, можно спорить об архитектуре, но к тому времени, когда вы дойдете до этого момента, будет слишком поздно, или он не будет применим с самого начала, как в моем случае.
0

Создайте параметр в области:

$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.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню