Szukałem i wypróbowałem wiele opcji typu ng-xxxx, ale nie mogłem znaleźć jednej .. Po prostu chcę wywołać jakąś funkcję w kontrolerze po wybraniu przycisku radiowego.
Więc może to być podobne do następującego ... (Oczywiście poniższy kod nie działa)
<input type="radio" ng-model="value" value="one" ng-click="checkStuff()"/>
Czy jest jakiś sposób, aby osiągnąć to, czego chcę?
value
sprawia, że jest to dość zagmatwane.ng-change
konkretnie o pojedynczym ... ale możesz uniknąć wielu programów obsługi zdarzeń (takich jak włączanieng-change=...
każdegoinput
), używając metody 2: każde wejście wymaga,ng-model
a następnie masz jednowatch
nasłuchiwanie zmiana ...Powinien użyć ngChange zamiast ngClick, jeśli źródło wyzwalacza nie pochodzi z kliknięcia.
Czy poniżej tego chcesz? co dokładnie nie działa w twoim przypadku?
źródło
W nowszych wersjach kątowych (ja używam 1.3) możesz w zasadzie ustawić model i wartość, a podwójne wiązanie wykonuje całą pracę, ten przykład działa jak urok:
źródło
Dla wartości dynamicznych!
w kontrolerze
źródło
Innym podejściem jest
Object.defineProperty
ustawienievalue
jako właściwości ustawiającej pobierającej w zakresie kontrolera, wtedy każda zmiana właściwości value wyzwoli funkcję określoną w metodzie ustawiającej:Plik HTML:
Plik javascript:
zobacz ten plunker do implementacji
źródło
wolę używać wartości ng z ng-if, [wartość-ng] obsługuje zmiany wyzwalacza
źródło
źródło