私はここに、私の解決策の問題を解決しました:
アプリ/コンポーネント/選択-rooms.js:
import Ember from 'ember';
export default Ember.Component.extend({
name: null,
quantityRooms: 1,
rooms: '',
init() {
this._super(...arguments);
this.set('rooms', [1]);
},
actions: {
changeQuantityRooms(value) {
this.set('quantityRooms', value);
this.set('rooms', []);
for (var i = 0; i < this.get('quantityRooms'); i++) {
this.get('rooms').pushObject(i);
};
},
changeQuantityChildren(value) {
this.set("quantity" + value.name, value.value);
this.set(value.name, []);
for (var i = 0; i < this.get("quantity" + value.name); i++) {
this.get(value.name).pushObject(i);
}
}
}
});
アプリ/テンプレート/コンポーネント/選択-rooms.hbsを:
<div class="row">
<div class="col-sm-6">
<div class="form-group">
<label>Quartos</label>
<select name={{name}} onchange={{action "changeQuantityRooms" value="target.value"}} class="form-control">
<option value="1">1</option>
<option value="2">2</option>
</select>
</div>
</div>
<div class="col-sm-6">
{{#if rooms}}
{{#each rooms as |room index|}}
<div class="row">
<div class="col-sm-6 form-group">
<label>
Adultos <small>+18</small>
</label>
<select name={{concat name index "-adults"}} class="form-control">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
</select>
</div>
<div class="col-sm-6 form-group">
<label>
Crianças <small>até 17 anos</small>
</label>
<select name={{concat name index "-children"}} onchange={{action "changeQuantityChildren" value="target"}} class="form-control">
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
</select>
</div>
<div class="col-xs-12">
{{#if (get this (concat "quantity" name index "-children"))}}
<div class="row">
<div class="col-xs-12">
<label>Idade das crianças: </label>
</div>
</div>
<div class="row">
{{#each (get this (concat name index "-children")) as | child i |}}
<div class="col-sm-4 form-group">
<select name={{concat name index "-children-age-" i}} class="form-control">
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
</select>
</div>
{{/each}}
</div>
{{/if}}
</div>
</div>
{{/each}}
{{/if}}
</div>
</div>
リポジトリには、デフォルトファイル以外のコードは含まれていません。 – kumkanillam
@kumkanillam私はちょうどリポジトリをチェックし、すべてのファイルはアプリケーションフォルダにあります。 –