Kümedeki formlarla ilgili bir sorun yaşıyorum, this.getProperties
denetleyicide tüm özellikler için undefined
döndürüyor.ember controller getProperties "undefined" döndürüyor
settings.hbs:
<form {{action 'saveSettings' on='submit'}}>
<label for="email">Email</label>
<p>
{{input id='email' placeholder='Enter Email' value=model.email}}
</p>
<label for="name">Name</label>
<p>
{{input id='name' placeholder='Enter Name' value=model.name}}
</p>
<label for="surname">Surname</label>
<p>
{{input id='surname' placeholder='Enter Surname' value=model.surname}}
</p>
<label for="skype">Skype</label>
<p>
{{input id='skype' placeholder='Enter Skype' value=model.skype}}
</p>
<label for="phone">Phone</label>
<p>
{{input id='phone' placeholder='Enter Phone' value=model.phone}}
</p>
<label for="city">City</label>
<p>
{{input id='city' placeholder='Enter City' value=model.city}}
</p>
<label for="country">Country</label>
<p>
{{input id='country' placeholder='Enter Country' value=model.country}}
</p>
<button type="submit">Save Settings</button>
</form>
settings.js (kontrolör)
import Ember from 'ember';
export default Ember.Controller.extend({
actions: {
saveSettings() {
let {
email, name, surname, skype, phone, city, country
} = this.getProperties('email', 'name', 'surname', 'skype',
'phone',
'city', 'country');
var user = this.get('model');
user.set('email', email);
user.set(
'name', name);
user.set('surname', surname);
user.set('skype',
skype);
user.set('phone', phone);
user.set('city', city);
user
.set('country', country);
user.save();
}
}
});
settings.js (rota)
import Ember from 'ember';
export default Ember.Route.extend({
model() {
return this.store.find('user', 'me');
}
});
yük sayfa İşte benim kodudur tüm girdiler doğru değeri gösterir, ancak formu gönderirken tüm özellikler geçersizdir. Bir kaç saatimi burda taktım ve neden çalışmadığını anlamıyorum.
Teşekkürler Pavol! ÇALIŞIYOR bir cazibe gibi. Çok yararlı! Sonunda denetleyicilerin ve şablonların nasıl çalıştığını anladım. – jos