Ember.js 在日期范围内筛选
我有一个有很多次旅行的邮轮模型。旅行存储开始和结束日期。我想过滤在最早开始日期或之后开始的邮轮,以及在最晚结束日期最晚的邮轮 app/models/cruise.js app/models/trip.js app/templates/index.hbs 如何更改此控制器中的filteredCruises以过滤在给定日期内旅行的邮轮 app/controllers/index.jsEmber.js 在日期范围内筛选,ember.js,ember-data,Ember.js,Ember Data,我有一个有很多次旅行的邮轮模型。旅行存储开始和结束日期。我想过滤在最早开始日期或之后开始的邮轮,以及在最晚结束日期最晚的邮轮 app/models/cruise.js app/models/trip.js app/templates/index.hbs 如何更改此控制器中的filteredCruises以过滤在给定日期内旅行的邮轮 app/controllers/index.js 我已经有一段时间没有接触过Ember了,我也没有测试/执行过这段代码,但我认为这可能适合您,我相信这可以优化: [.
我已经有一段时间没有接触过Ember了,我也没有测试/执行过这段代码,但我认为这可能适合您,我相信这可以优化:
[...]
filteredCruises: function() {
var earliestStartDate = this.get('earliestStartDate');
var latestEndDate = this.get('latestEndDate');
var cruises = this.get('model.cruises');
return cruises.filter(function(cruise) {
return cruise.get('trips').filter(function(trip) {
return ((trip.get('starts_on') >= earliestStartDate) && (trip.get('ends_on') <= latestEndDate));
});
});
}.property('model.cruises','earliestStartDate','latestEndDate'),
[...]
import DS from 'ember-data';
export default DS.Model.extend({
starts_on: DS.attr('date'),
ends_on: DS.attr('date')
});
{{date-picker date=earliestStartDate valueFormat='YYYY-MM-DD'}
{{date-picker date=latestEndDate valueFormat='YYYY-MM-DD'}}
[...]
filteredCruises: function() {
var earliestStartDate = this.get('earliestStartDate');
var latestEndDate = this.get('latestEndDate');
var cruises = this.get('model.cruises');
return cruises;
}.property('model.cruises','earliestStartDate','latestEndDate'),
[...]
[...]
filteredCruises: function() {
var earliestStartDate = this.get('earliestStartDate');
var latestEndDate = this.get('latestEndDate');
var cruises = this.get('model.cruises');
return cruises.filter(function(cruise) {
return cruise.get('trips').filter(function(trip) {
return ((trip.get('starts_on') >= earliestStartDate) && (trip.get('ends_on') <= latestEndDate));
});
});
}.property('model.cruises','earliestStartDate','latestEndDate'),
[...]