我有以下代码:
应用程序/模型/ account.js:
import DS from 'ember-data';
export default DS.Model.extend({
username: DS.attr('string'),
birthdate: DS.attr('date'),
gender: DS.attr('boolean'),
emailaddresses: DS.attr()
});
和app / components / account-profile.js:
import Ember from 'ember';
export default Ember.Component.extend({
buttonLabel: 'Send to Server',
actions: {
buttonClicked(param) {
this.sendAction('action', param);
}
}
});
和app / templates / components / account-profile.hbs
<div class="box">
<div class="title">Your Profile</div>
<div>Username: {{account.accountprofile.username}}</div>
<div>Email Address: {{account.accountprofile.emailaddresses.0.emailaddress}}</div>
<div>Birthdate: {{account.accountprofile.birthdate}}</div>
<div>Gender: {{account.accountprofile.gender}}</div>
</div>
<div>
<div>
<label>Username</label>
<div>
{{input type="text" value=account.accountprofile.username }}
</div>
<label>Username</label>
<div>
{{input type="text" value=account.accountprofile.emailaddresses.0.emailaddress }}
</div>
<label>Username</label>
<div>
{{input type="text" value=account.accountprofile.birthdate }}
</div>
<label>Username</label>
<div>
{{input type="text" value=account.accountprofile.gender }}
</div>
<div>
<div>
<button type="submit" {{action 'buttonClicked' account}}>{{buttonLabel}}</button>
</div>
</div>
</div>
</div>
我没有看到从我的网络浏览器向我的服务器发送任何流量。
我的代码遗漏了什么,有什么问题?我还需要做些什么?
答案 0 :(得分:1)
在ember指南中参考Persisting Records
Ember数据中的记录基于每个实例持久存在。呼叫 在任何DS.Model实例上保存(),它将发出网络请求。
您需要从记录save
中调用account.accountprofile
方法this.get('account.accountprofile').save()
答案 1 :(得分:-1)
sendAction不会向服务器发送内容。
请参阅https://guides.emberjs.com/v1.10.0/components/sending-actions-from-components-to-your-application/
因此,请尝试使用param.save()来保存模型。