Ember.js Ember.view中的日期范围选择器

Ember.js Ember.view中的日期范围选择器,ember.js,Ember.js,我正在尝试将日期范围选择器实现为余烬视图 App.DaterangepickerView = Ember.View.extend({ tagName: "input", attributeBindings: ["start", "end"], start: null, end: null, didInsertElement: function() { var self = this; this.$().daterang

我正在尝试将日期范围选择器实现为余烬视图

App.DaterangepickerView = Ember.View.extend({

    tagName: "input",
    attributeBindings: ["start", "end"],
    start: null,
    end: null,


    didInsertElement: function() {
        var self = this;
        this.$().daterangepicker(
               {
                 format: 'YYYY-MM-DD',
                 startDate: '2013-01-01',
                 endDate: '2013-12-31'
               },
               function(start, end) {
                        console.log("Date-range-picker:");
                        self.set('startdate',start.format('DD-MM-YYYY'));
                        self.set('end',end.format('DD-MM-YYYY'));
                        console.log("start: " + self.get('start'));
                        console.log("end: " + self.get('end'));
               }
        )
    },

});
模板:

<script type="text/x-handlebars" data-template-name="daterangepicker">


    {{view App.DaterangepickerView startBinding="start" endBinding="end"}}

    start date: {{start}}
    end date: {{end}}
</script>

startBinding和endBinding可能是ember.view的错误参数,但我不知道如何通过contentBinding正确编写。选择器正在显示并设置控制台的正确信息,但我需要从那里设置控制器。你做过类似的事情吗?

你需要使用
start
intead的
startdate

从以下位置更新此代码:

self.set('start',start.format('DD-MM-YYYY')); 

因此,您的
开始
绑定将起作用

最好将当前的
开始
结束
日期传递给
日期范围选择器
,这样当您显示选择器时,它将具有选定的值:

this.$().daterangepicker(
               {
                 startDate: this.get('start'),
                 endDate: this.get('end')
               }
最终结果如下:

App.DaterangepickerView = Ember.View.extend({
    tagName: "input",
    attributeBindings: ["start", "end"],
    start: null,
    end: null,
    format: 'YYYY-MM-DD',
    didInsertElement: function() {
        var self = this;
        var format = this.get('format');
        this.$().daterangepicker(
               {
                 format: format,
                 startDate: this.get('start'),
                 endDate: this.get('end')
               },
               function(start, end) {                        
                   self.set('start',start.format(format));
                   self.set('end',end.format(format));                        
               }
        )
    },

});
这是一个摆弄这件作品的样品


我希望这有帮助

很好,谢谢。”“开始”而不是“开始日期”:我在一些测试中忘记了它。我有“开始”,但它仍然不起作用。也许控制器有问题……嗯,什么不起作用?在那把小提琴里,绑定是可以的。我有什么遗漏吗?是的,对不起。我这里还有一些线程,稍后我会检查它们。您是emberjs问题的积极响应者,我很高兴:)
this.$().daterangepicker(
               {
                 startDate: this.get('start'),
                 endDate: this.get('end')
               }
App.DaterangepickerView = Ember.View.extend({
    tagName: "input",
    attributeBindings: ["start", "end"],
    start: null,
    end: null,
    format: 'YYYY-MM-DD',
    didInsertElement: function() {
        var self = this;
        var format = this.get('format');
        this.$().daterangepicker(
               {
                 format: format,
                 startDate: this.get('start'),
                 endDate: this.get('end')
               },
               function(start, end) {                        
                   self.set('start',start.format(format));
                   self.set('end',end.format(format));                        
               }
        )
    },

});