2015-08-21 1 views
0

Я использую автозаполнение Angular Material, и я хотел бы использовать старое значение, когда элемент изменяется.Как вы получаете старые и новые значения из динамического автозаполнения md-selected-item-change (Angular Material)?

Директива autocomplete динамически добавляется на веб-страницу, поэтому использование потоков $ watch не идеально подходит для этого случая, когда есть потенциал для большого количества этих автозаполнений.

ответ

0

Вы можете использовать $ смотреть на переменном так:

$scope.$watch('variable_name', function(newval, oldval) { 
    console.log(newval) //contains new value 
    console.log(oldval) //contains old value 
}) 

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

+0

Это будет работать с фиксированным набором переменных, но у меня есть динамический набор. Я могу добавить новую директиву автозаполнения с кнопкой, каждая из которых имеет другую переменную модели. Но если бы у меня были часы на каждой из этих переменных, разве это не убило бы ОЗУ? Я на самом деле новичок в Angular, поэтому я не уверен, насколько он эффективен с этими потоками. – Vongdarakia

+0

Да, было бы неэффективно иметь много часов. –

+0

Попробуйте использовать $ watchGroup, если переменных не так много. –