0

我有一个带有属性的控制器:

vFrom: window.moment.utc().format('YYYY-MM-DD'),

我在内部queryParams的路线中使用此属性ember-cli-pagination

vFrom:{
  refreshModel: true
},

我可以通过 a 更改此日期ember-pikaday,在控制器中设置初始化日期,vFrom: window.moment.utc().format('YYYY-MM-DD')然后在 datepicker 组件中使用它:

{{pikaday-input useUTC=true value=vFrom class="form-control"}}

然后在日期更改时触发模型刷新(这是我想要的)。

问题是我最终在 URL?vFrom=Fri Mar 25 2016 01%3A00%3A00 GMT%2B0100 (CET)中得到了一个日期变量,该变量在所有浏览器中都不起作用(并且时刻在控制台中警告我这一点)并最终破坏了我的应用程序。

如何更改以 URL 结尾的日期格式?

谢谢!

4

2 回答 2

0

另一种解决方案,我认为这比使用观察者更好。

{{pikaday-input useUTC=true value=datef class="form-control"}}

queryParams: ['vFrom'],
datef: Ember.computed('vFrom', {
    get() {
        return moment(this.get('vFrom')).format();
    },
    set(key, value) {
        this.set('vFrom', moment(value).format('YYYY-MM-DD'));
        return value;
    }
})
于 2016-04-27T10:06:34.143 回答
0

我用观察者解决了这个问题:

 datef: Ember.observer('vFrom', function(){
    var fromD = this.get('vFrom');
    if( fromD instanceof Date )
    {
      this.set('vFrom', window.moment.utc(fromD).format('YYYY-MM-DD'));
    }
  }),
  datet: Ember.observer('vTo', function(){
    var fromD = this.get('vTo');
    if( fromD instanceof Date )
    {
      this.set('vTo', window.moment.utc(fromD).format('YYYY-MM-DD'));
    }
  })
于 2016-04-04T15:25:44.067 回答