Ember从重新打开的类中设置属性

时间:2017-07-13 18:05:10

标签: ember.js

我在我的文件中使用.reopen对类进行了一些更改,但我很难在同一个文件中更改计算属性。

我将从一个简单的属性开始。这都在我的 custom-date-picker.js

export default Ember.Component.extend({
    ...
    outputRange: "test",
    ...
});

powerCalendarRange.reopen({
    actions: {
        select(day, calendar, e) {
          let range = this._buildRange(day);
          let { start, end } = range.moment;
          this.set('outputRange', "set");
          if (start && end) {
            let { minRange, maxRange } = this.get('publicAPI');
            let diff = Math.abs(end.diff(start));
            if (diff < minRange.as('ms') || maxRange && diff > maxRange.as('ms')) {
              return;
            }
          }
          let action = this.get('onSelect');
          if (action) {
            action(range, calendar, e);
          }
        }
    }
});

然后当然,我想在一个html元素中显示outputRange,如下所示:

<input type="text" value="{{outputRange}}" />

我知道我做错了,我认为这与this有关。我该怎么看?

1 个答案:

答案 0 :(得分:0)

custom-date-picker是您的组件,power-calendar-range是不同的组件,组件是隔离的,您需要将outputRange属性从custom-date-picker传递到power-calendar-range。< / p>

你为什么要重新开放?我相信您可以在不使用reOpen的情况下解决您的用例,而是扩展power-calendar-range组件。