2
双向绑定似乎不会更新视图,除非您键入文本字段。所以我使用了香草日期选择器(罗马)。像大多数日期选择器一样,它弹出一个日历来选择你的日期。Aurelia双向绑定文本字段不起作用
问题:
- 一旦你从日期选择器中点击日期,将正确放置在文本框中 日期。但它不会更新双向绑定。 但如果我手动文本框中键入日期两个结合作品 正确并反映最多schedule.html
schedule.html
<template>
<require from="../../shared/components/date-range-picker"></require>
<require from="../../shared/components/time-range-picker"></require>
<div>${data.dateTime.openDate}</div> <!-- This doesn't update -->
<date-range-picker containerless date-range.two-way="data.dateTime"></date-range-picker>
<time-range-picker containerless time-range.two-way="data.dateTime"></time-range-picker>
</template>
日期范围选取器html的
<template>
<div class="form-group input-button-group input-group date">
<input type="text" class="form-control" id="open" value.bind="dateRange.openDate" class="form-control"
placeholder="Select a Start Date" />
<span class="input-group-addon"><i class="icon-ion-calendar"></i></span>
</div>
<div class="form-group input-button-group input-group date">
<input type="text" class="form-control" id="close" value.bind="dateRange.closeDate" class="form-control"
placeholder="Select a Close Date" />
<span class="input-group-addon"><i class="icon-ion-calendar"></i></span>
</div>
</template>
日期范围-picker.js
import { bindable, bindingMode } from 'aurelia-framework';
import rome from 'rome';
import 'rome/dist/rome.css';
export class DateRangePicker {
@bindable({ defaultBindingMode: bindingMode.twoWay }) dateRange;
attached() {
const open = document.getElementById('open');
const close = document.getElementById('close');
rome(open, {
time: false,
dateValidator: rome.val.beforeEq(close),
});
rome(close, {
time: false,
dateValidator: rome.val.afterEq(open),
});
}
}
我所做的更改,但仍绑定不会发生。 – allencoded
没关系,现在该怎么办现在该怎么办,如果他们为空 – allencoded
对不起,我不明白你的问题。你能解释得更好吗? –