#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
структуры», возможно, есть способ упростить это. Покажите еще немного кода, и я помогу вам упростить его.
И если в какой-то момент времени в будущем стили и другие атрибуты этого будут отличаться, не стесняйтесь изменять шаблон и / или контроллер. Ремонтопригодность каждого решения, обсуждаемого в этом примере, зависит от степени общности, которая может меняться со временем.