Eu pesquisei e tentei muitas opções do tipo ng-xxxx, mas não consegui encontrar uma .. Eu só quero chamar alguma função no controlador quando o botão de rádio for selecionado.
Portanto, pode ser semelhante a seguir .. (Claro, o código abaixo não está funcionando)
<input type="radio" ng-model="value" value="one" ng-click="checkStuff()"/>
Existe alguma maneira de conseguir o que eu quero?
value
está tornando tudo muito confuso.ng-change
especificamente ... mas você pode evitar vários manipuladores de eventos (como ter umng-change=...
em todosinput
) usando o método 2: cada entrada requer umng-model
e então você tem um únicowatch
ouvindo o mudar ...Deve usar ngChange em vez de ngClick se a origem do acionador não for do clique.
O que está abaixo é o que você quer? o que exatamente não funciona no seu caso?
fonte
Em versões mais recentes do angular (estou usando 1.3), você pode basicamente definir o modelo e o valor e a ligação dupla fazer todo o trabalho, este exemplo funciona como um encanto:
fonte
Para valores dinâmicos!
no controlador
fonte
Outra abordagem é usar
Object.defineProperty
para definirvalue
como uma propriedade getter setter no escopo do controlador, então cada mudança na propriedade value irá disparar uma função especificada no setter:O arquivo HTML:
O arquivo javascript:
veja este plunker para a implementação
fonte
eu prefiro usar o valor ng com ng-if, [ng-value] irá lidar com as mudanças de gatilho
fonte
fonte