• Что лучше использовать для реализации автоподсказок в AngularJS?

    @AlexeyIvanov
    Developer
    Думаю тут лучше всего использовать две директивы:
    1. Одну для формы, например HintForm. В ней объявите контроллер директивы, в котором вы будете хранить актуальные значения инпутов.
    2. Для самих инпутов, например Hint. При объявлении директивы укажите require: ^HintForm, тогда в функции link вам будет доступен контролер из HintForm. При изменении значения в инпуте вы будете записывать его (значение) в контроллер HintForm. Поскольку контроллер HintForm шарится между всеми Hint-ами, то через него любая директива Hint будет знать актуальные значения инпутов во всей форме.

    Это похоже на то, как директива form взаимодействует с вложеными директивами ng-model.

    Пример: http://plnkr.co/edit/TQQWJflPSQx5jDh097bM
    Ответ написан
    1 комментарий
  • Что лучше использовать для реализации автоподсказок в AngularJS?

    Директива в этом случае сделает код реюзабельным - Вы сможете сделать вторую форму и использовать на ней этот же код. Другими словами - использование директивы полностью оправдано.

    А насчет:
    сервиса (в котором будут храниться актуальные значения инпутов)

    Не знаю, насколько это красиво будет. Можно например сделать изолированный скоуп для директивы и передавать туда массив с
    автоподсказками, которые будут формироваться из предустановленных значений + тех, которые уже введет в форму
    Ответ написан
    3 комментария