Stavo cercando le alternative ng-true-value
e ng-false-value
in Angular 2
ma non ho ottenuto un risultato. Li hanno sostituiti con altri strumenti? Ho davvero bisogno di loro. Grazie in anticipoalternative "ng-true-value" e "ng-false-value" in Angular2
risposta
Soluzione alternativa. Ad esempio abbiamo l''oggetto' nel modello con un 'flag' e una casella di controllo dovrebbe impostare il flag sul valore "1" e un'altra casella di controllo dovrebbe impostare il flag sul valore "2", se la casella di spunta è deselezionata il valore dovrebbe essere "0", quindi:
public setFlag(object: any, event: any): any {
if (event.target.classList.contains('some-mark-class') && (object.flag == 0 || object.flag == 1)) {
object.flag = 2;
} else if (!event.target.classList.contains('some-mark-class') && (object.flag == 0 || object.flag == 2)) {
object.flag = 1;
} else {
object.flag = 0;
}
}
<input type="checkbox" name="hide-{{object.flag}}" [checked]="object.flag === 1" (change)="setFlag(object, $event)">
<input type="checkbox" name="dlte-{{object.flag}}" [checked]="object.flag === 2" (change)="setFlag(object, $event)" class="some-mark-class">
La soluzione potrebbe essere non perfetta e in qualche modo goffo ma è qualcosa e funziona, quindi se ci sono dei miglioramenti, si prega di fare.
Quando avrò ancora un po 'di tempo cercherò di farlo in qualche sandbox se lo vorrete :).
UPDATE: Verson 2 migliore approccio e la flessibilità di file
Ts:
public setFlag(obj: any, property: any, trueValue: any, falseValue: any): any {
if (obj[property] === trueValue) {
obj[property] = falseValue;
} else {
obj[property] = trueValue;
}
}
<input type="checkbox" name="hide-{{object.flag}}" [checked]="object.flag === 1" (change)="setFlag(object, 'flag', 1, 0)>
<input type="checkbox" name="dlte-{{object.flag}}" [checked]="object.flag === 1" (change)="setFlag(object, 'flag', 'true-value', 'false-value')>
In una funzione setflag prendiamo 4 parametri: oggetto, proprietà per l'oggetto, valore reale e valore falso che danno Siamo flessibili per impostare il valore che desideriamo e farlo senza mark-class. Spero che aiuti
- 1. Angular2 Differenza tra @ angolare/e angular2/importazioni
- 2. Doppia-dispatch e alternative
- 3. integrazione angular2 e materializecss
- 4. Alternative a Autoconf e Autotools?
- 5. Osservabili e come usarli correttamente in Angular2
- 6. Come utilizzare Angular2 e Typescript in Jsfiddle
- 7. Alternative a YepNope e LabJS
- 8. Alternative al JasperReports e BIRT
- 9. Java EE 6 e alternative
- 10. Proprietà indefinite Angular2 e TypeScript
- 11. angular2.js vs angular2.dev.js
- 12. Implementazione guidata in angular2?
- 13. Delega eventi in Angular2
- 14. componente dinamico in Angular2
- 15. ng-switch in Angular2
- 16. onchange equivalent in angular2
- 17. Impossibile trovare il modulo esterno 'angular2/angular2' - Angular2 w/Typescript
- 18. aggiornamento-alternative: avviso:/etc/alternative/java pende
- 19. Bug e soluzioni alternative all'interfaccia pubblicate
- 20. Alternative MVC: esempi di MVA e AVC?
- 21. Distinzione tra typeclass MonadPlus, Alternative e Monoid?
- 22. Sintomi e alternative a OOP abusato
- 23. System.Net.Mail Alternative
- 24. alternative JavaScript
- 25. Alternative Kibana
- 26. alternative window.opener
- 27. Alternative sottaceto
- 28. Alternative DbUnit.NET
- 29. Xerces C++ - Carica, leggi e salva, alternative?
- 30. Esistono librerie alternative per Relay e GraphQL?
Non penso che ci sia qualcosa. Hai un caso d'uso concreto? Ciò renderebbe più semplice suggerire soluzioni alternative. –
quindi ho questa casella di controllo '', è ovvio che il valore 'selected' sarà o 'true' o' false' voglio che sia l'etichetta (che è dinamica ad esempio: {{xx}}) della casella di controllo .. –
Capito. Immagino che ti serva un "ControlValueAccessor" personalizzato per farlo. Sono abbastanza sicuro che Angular2 non fornisce nulla attualmente pronto per l'uso. Le forme in generale hanno ancora bisogno di un po 'di lucidatura. –