Преимущества использования `ng-include src`

#angularjs #angularjs-ng-include

#angularjs #angularjs-ng-include

Вопрос:

Я работаю над приложением, которое содержит несколько файлов HTML и JS.

В двух разных HTML-файлах одна div структура (которая использует ng-repeat ) будет одинаковой. Controller который будет отображать эту div структуру, также будет таким же.

Style структура этого div будет отличаться на обеих HTML-страницах.

Теперь вопрос в том, должен ли я создать другой HTML-файл, в котором будет эта div структура, а затем использовать ng-class для придания этой структуре другого стиля. Этот общий HTML-код будет включен с помощью ng-include src .

или я должен просто скопировать и вставить одну и ту же div структуру в два разных HTML-файла? Я чувствую, что преимущество этого заключается в том, что мне не нужно поддерживать количество флагов и использовать сложную ng-class структуру.

Итак, подводя итог, каковы преимущества включения одного HTML-файла с использованием ng-include src копирования структуры div в два разных HTML-файла.

Ответ №1:

Преимущество ng-include копирования и вставки здесь, как вы сказали, заключается в обслуживании. Когда по какой-то причине придет время изменить содержимое HTML, вам не нужно будет вносить изменения в двух (или более) местах; только в одном. Итак, если фрагменты HTML действительно идентичны и будут меняться вместе по мере роста вашего приложения, используйте ng-include .

Чтобы стилизовать два фрагмента по-разному: да, вы можете ng-class присоединять разные классы css на основе некоторой базовой логики. Что касается упомянутой вами «полной ng-class структуры», возможно, есть способ упростить это. Покажите еще немного кода, и я помогу вам упростить его.

И если в какой-то момент времени в будущем стили и другие атрибуты этого будут отличаться, не стесняйтесь изменять шаблон и / или контроллер. Ремонтопригодность каждого решения, обсуждаемого в этом примере, зависит от степени общности, которая может меняться со временем.