mio codice di utilizzo di direttivaCome implementare ng-change per la direttiva personalizzata per l'elenco di selezione?
<input-select ng-model="someModel" ng-change="someFunction()"
options="countries"></input-select>
Il mio codice direttiva
.directive('inputSelect', function() {
return {
templateUrl: 'someTemplate.html',
restrict: 'E',
scope: {
ngModel: '=',
ngChange: '='
}
};
});
Il mio modello di direttiva
<select
ng-model="ngModel" ng-init="ngModel "
ng-options="option[optionId] as option[optionName] for option in options"
ng-change="ngChange">
</select>
Così, quando l'elemento selezionato viene cambiata, la funzione someFunction()
è sempre chiamato per infinito volte (anche se il cambiamento viene effettuato una volta), cosa dovrebbe essere cambiato per assicurarsi che someFunction()
venga chiamato onl y volta (someFunction()
è una funzione della portata del regolatore in cui viene utilizzata la direttiva)
[ho provato utilizzando &
e @
per il tipo di applicazione ngChange, somefunction()
non licenziano se utilizzare quelli. ]
'&' o '@' non funziona - 'someFunction()' non viene eseguito se usato così. –
@VishwajeetVatharkar prova il modo in cui ho suggerito..cambiare il tuo codice come ho impostato. Finché poi creerò un plunkr per te –
facendo in modo che 'ngChange()' nel modello non funzioni. –