我有一个下拉列表(列出“句点”),当此选择更改时,应使用表单填充其下方的表单,以便可以编辑该时段的数据。
主模板渲染组件很好(我希望代码解释自己?)
{{period-component items=model.periods}}
并使用包含句点
的下拉列表呈现组件<select style="width:100%" onchange={{action "periodChange" value="target"}}>
<option>Select a period</option>
{{#each items as |period|}}
<option value={{period.id}}>{{period.name}}</option>
{{/each}}
</select>
这是我开始放松它的地方(Ember很新),因为模型有一个句点属性,其中句点具有“平衡”属性。因此,显示的表单将类似于model.periods [1] .balance(如果您根据我习惯的c#代码进行思考)
无论如何,我现在的问题是这个承诺的事情,似乎我的api在以下代码中的警报之后被触发,这应该只在数据被返回时发生(警报是[对象,对象]无论如何...... uuurgh)
actions: {
periodChange(period) {
var store = this.get('store');
store.findRecord('dealperiod', period.value).then(function(data) {
var assetBalance = data.assetBalance;
alert(assetBalance);
this.set('assetBalance', assetBalance);
});
如果有人可以指出我正确的方向,不要期待被舀勺。
猜猜我的问题归结为:只有在返回数据之后才做正确的事情是什么(承诺?);其次,如果输入是针对模型的子属性的话,现在要命名表单输入(如这种情况我有一个“交易”模型,它有一个“期间”的集合,我想编辑每个期间的数据,因为它们被选中)
答案 0 :(得分:1)
我不确定但是你可以尝试使用ember get方法来获得assetBalance。
var assetBalance = data.get('assetBalance');