Come posso sapere nel controller che il valore di < md-slider> di Angular Material Design è cambiato?Richiamata OnChange per md-slider in Angular Material Design
risposta
non ho trovato come farlo in modo corretto, ma lo si può fare con la creazione di una direttiva e un evento, come:
.directive('testDragEnd', function() {
return {
restrict: 'A',
link: function(scope, element, attrs) {
element.on('$md.dragend', function() {
console.info('Drag Ended');
})
}
}
})
E la, si deve aggiungere la direttiva in the <md-slider>. (<md-slider test-drag-end></md-slider>).
Spero che sia d'aiuto.
In hub git di angolare Materiale Ci sono pochi altri eventi in cui è possibile fare lo stesso:
element
.on('keydown', keydownListener)
.on('$md.pressdown', onPressDown)
.on('$md.pressup', onPressUp)
.on('$md.dragstart', onDragStart)
.on('$md.drag', onDrag)
.on('$md.dragend', onDragEnd);
Questa è una buona soluzione per il problema descritto qui: https://github.com/angular/material/issues/2060 Voglio rispondere alle modifiche sul mio dispositivo di scorrimento con una richiesta HTTP, e voglio solo che succeda alla fine del trascinamento, non una volta per ogni cambio di modello. Ascoltare l'evento '$ md.pressup' sembra un buon modo per risolvere questo problema. – chazzlabs
L'evento $ md.pressup che hai menzionato è probabilmente più appropriato di $ md.dragend. L'evento $ md.dragend viene visualizzato solo se il cursore è in realtà un farmaco da parte dell'utente: se fanno clic per cambiare e non trascinano, il trascinamento non viene mai attivato (tuttavia $ md.pressup). Dato che l'OP vuole sapere ogni volta che viene modificato un valore, $ md.dragend non funzionerà sempre. – kpup
ho usato un $ orologio sulla variabile legato al dispositivo di scorrimento:
$scope.$watch(
function() {
return $scope.tex;
},
function(newValue, oldValue) {
$mdToast.show($mdToast.simple().content("Slider=" + newValue).position("top right").hideDelay(1500));
});
Nel mio caso il mio HTML si presentava così:
<md-slider min="0" max="50" ng-model="tex" md-discrete></md-slider>
Good Luck.
ho messo una funzione di callback in ng-blur
, che ha lavorato per me. (Provato inizialmente con il ng-change
, ma è diventato molto lento).
Esempio:
<md-slider ng-model="gigabyte" ng-blur="myCallbackFunction()" id="myslider"> </md-slider>
<input flex type="number" ng-model="gigabyte" ng-blur="myCallbackFunction()" aria-controls="myslider">
è possibile aggiungere ng-cambiamento sulla direttiva
<md-slider min="0" max="50" ng-model="text" ng-change="myMethod()" md-discrete></md-slider>
Sei sicuro che questo funziona! – M98
Funziona in Angolare 1.6.4 con materiale angolare 1.1.4 –
ng-mouseup
dovrebbe fare il trucco. Se vuoi aggiungere la logica (come ho fatto io) per assicurarti che il tuo valore sia cambiato prima di effettuare l'aggiornamento della chiamata db, puoi aggiungerlo all'interno della tua funzione saveChanges()
all'interno del tuo controller.
<md-slider ng-mouseup="vm.saveChanges(vm.myModel)"></md-slider>
- 1. Testo del pulsante Tema utilizzando Angular Material Design
- 2. Material design layout_scrollFlags significati
- 3. Material Design Lite navigation
- 4. Material design progressdialog
- 5. Cassetto come Google material design per iOS
- 6. Material Design: Nav cassetto Larghezza
- 7. Scelta bootstrap vs material design
- 8. crash - material design android 5.0
- 9. colore per cento in Android per Material design
- 10. Come usare md-icon con md-autocomplete in Angular-Material Design?
- 11. Cambia tema materiale di design per Angular 2
- 12. Material design Telescopico angolare md-autocomplete
- 13. Material Design Menu hamburger non centrato nell'intestazione
- 14. Uso di Material Design Lite con React
- 15. Griglia Lite Design Material con tabelle
- 16. popupI difetti di bave con Material Design
- 17. Angular2 ngPer elementi con Material Design Lite
- 18. Le direttive di layout sono supportate da Angular 2 Material Design Components?
- 19. Come utilizzare il material design nell'app per Android?
- 20. C'è un modo per ridimensionare l'elemento di Material Design (AngularJS)?
- 21. Pannelli di espansione in Google Material design android
- 22. Come creare un pulsante Indietro in Material Design
- 23. Imposta il colore di SVG Material Design Icons sfondo
- 24. Aprire il cassetto di navigazione su scorrimento (Material Design Lite)
- 25. Material Design Lite + React - Problemi con i tooltip
- 26. Come realizzare questo menu popup personalizzato con Material Design Android?
- 27. Come utilizzare Modal Pop up con Material Design Lite?
- 28. WebView con una barra degli strumenti comprimibile? (material design)
- 29. Material Design Lite (MDL) Cassetto di navigazione sul lato destro
- 30. Modificare la dimensione delle icone di Material design icona
si tratta di un elemento standard, utilizzare 'ng-model =' per monitorare il suo valore. https://material.angularjs.org/#/api/material.components.slider/directive/mdSlider – Claies