Czy Emberjs zapewnia selekcjęWiązanie dla pola wyboru do obsługi zaznaczonych/zaznaczonych pól wyboru.SelectionBinding for Checkbox w EmberJs
Jeśli tak, jak to zrobić?
Czy Emberjs zapewnia selekcjęWiązanie dla pola wyboru do obsługi zaznaczonych/zaznaczonych pól wyboru.SelectionBinding for Checkbox w EmberJs
Jeśli tak, jak to zrobić?
Bind na własność Ember.Checkbox
checked
patrz http://jsfiddle.net/5pnVg/:
Kierownice:
{{view Ember.Checkbox checkedBinding="App.objController.isChecked" }}
JavaScript:
App.objController = Ember.Object.create({
isChecked: true,
_isCheckedChanged: function(){
var isChecked = this.get('isChecked');
console.log('isChecked changed to %@'.fmt(isChecked));
}.observes('isChecked')
});
Ok, więc to jest trochę stary, ale ja natknęliśmy się na to też. Dostałem moje opcje pól wyboru dostarczone do modelu trasy w tablicy. Problem polega na osiągnięciu dwukierunkowego wiązania (jeśli jest to cel). W ten sposób robiłem go:
App.ItemEditController = Ember.ObjectController.extend({
isRound: function() {
return (this.get('model.shapes').find(function(item) { return (item === 'round') }));
}.property('model.shapes'),
isOval: function() {
return (this.get('model.shapes').find(function(item) { return (item === 'oval') }));
}.property('model.shapes'),
isIrregular: function() {
return (this.get('model.shapes').find(function(item) { return (item === 'irregular') }));
}.property('model.shapes'),
shapes: function() {
var self = this;
['round','oval','irregular'].map(function(item) {
var shapes = self.get('model.shapes');
shapes = shapes.toArray();
if (self.get('is' + item.capitalize())) {
if (shapes.indexOf(item) < 0)
shapes.push(item);
} else {
if (shapes.indexOf(item) >= 0)
shapes.splice(shapes.indexOf(item),1);
}
self.set('model.shapes', shapes);
});
}.observes('isRound', 'isOval', 'isIrregular')
});
Więc tutaj mam ustawić właściwości, aby ustawić się na podstawie ich obecności w kształty tablicy modelki i ustawić obserwatora, który sprawdza te właściwości resetuje kształtów tablicę modelki Jeśli wymagane. Teraz w szablonie pozycji możemy wiązać się z kształtami jak zawsze (jednak to zrobić):
Shapes:
{{#each shape in this.shapes}}
<span class="label label-default">{{shape}}</span><br />
{{else}}
No shape selected!
{{/each}}
i w szablonie ItemEdit łączymy się właściwości sterownika edytuj za:
Shapes:
Round: {{input type="checkbox" checked=isRound}}
Oval: {{input type="checkbox" checked=isOval}}
Irregular: {{input type="checkbox" checked=isIrregular}}
Nadzieja Pomaga to każdemu, kto zmaga się z tego typu ręcznym wiązaniem dwustronnym, a za jednym razem otrzymasz wszystkie sprawdzone opcje w swoim modelu.
cóż, to zwraca tylko jedną sprawdzoną wartość w prawo, wt Jeśli ... musimy uzyskać wszystkie zaznaczone opcje naraz? – user1338121