Как получить входное значение из angular material md-datepicker?

#angularjs #datepicker #angular-material

#angularjs #datepicker #angular-material

Вопрос:

У меня есть следующий md-datepicker, который выбирает дату:

md-datepicker

Как я мог бы получить дату из входного значения, чтобы использовать ее в другом контроллере?

Это HTML-код для md-datepicker:

 <div class="text-center">
<md-datepicker id="sDay" md-min-date="availableMinDate" class="orientationBottom" ng-model="availableCalendar"  md-date-filter="severalDays"></md-datepicker><br>
</div>  

Комментарии:

1. Вы можете сделать данные доступными между контроллерами с помощью сервиса. Службы в angular являются одиночными, и если вы задаете в них значение, вы можете получить к нему доступ с другого контроллера.

Ответ №1:

Достаточно определить availableCalendar на $rootScope , к которому могут быть доступны все области иерархии, а затем и все контроллеры.

Комментарии:

1. Не рекомендуется использовать $rootScope. Как упоминает @Danilo Velasquez, сервисы — это правильный путь.

2. Вы правы. Это всегда работающее простое решение, но это то же самое, что создавать глобальные переменные, и это плохая практика. $ broadcast или $emit также могут быть полезны, в зависимости от структуры приложения.

Ответ №2:

Чтобы заставить 2 контроллера взаимодействовать, вам необходимо использовать сервис.

Создайте переменную в указанном сервисе, создайте средство получения и установки.

В вашем первом контроллере используйте установщик и отправьте свой availableCalendar параметр в качестве параметра.

В вашем втором контроллере используйте геттер для получения значения, и теперь вы можете его использовать.

Если вы новичок в Angular, то вот эта полезная ссылка, которая мне помогла.