我尝试设置data-minute-step={{somevalue}}
,但如果我更改了值,则不会更新选择器。我能为此做点什么吗?
示例:
<input type="number" ng-model="stepSize">
<input bs-timepicker data-minute-step="{{stepSize}}">
这就是我所拥有的:
<input id="timetable.amountPerLeson"
class="form-control"
type="number"
step="15"
placeholder="45 min"
ng-model="durationStep">
<input id="timetable.start"
class="form-control"
type="text"
placeholder="date"
ng-model="slot.startHour"
bs-timepicker
data-time-format="HH:mm"
data-length="1"
data-minute-step="{{durationStep}}"
data-arrow-behavior="picker"
ng-show="slot.name === 'Hours'" >
答案 0 :(得分:0)
我看了一下this doc.并且它似乎没有看到属性的变化 - 它们只被评估一次,所以这就是为什么通过输入来操作<input id="timetable.amountPerLeson" class="form-control" type="number" step="15" placeholder="45 min"
ng-model="durationStep" ng-change="minutesUpdated()">
<input id="timetable.start" class="form-control" type="text" placeholder="date"
ng-model="slot.startHour"
bs-timepicker data-time-format="HH:mm" data-length="1" ng-attr-data-minute-step="{{durationStep}}"
data-arrow-behavior="picker" ng-show="slot.name === 'Hours'" ng-if="!renderTimePicker">
并不起作用。
我建议的解决方法是在更新分钟步骤时强制渲染timepicker元素:
$timeout
将渲染功能添加到控制器(确保注入$scope.minutesUpdated = function() {
$scope.renderTimePicker = true;
$timeout(function() {
$scope.renderTimePicker = false;
});
};
):
$scope.minutesUpdated()
从视图更改分钟步骤将触发ng-if="!renderTimePicker"
功能,它将从视图中删除时间戳(因为我将$scope.renderTimePicker = false;
添加到元素中),并在视图后再次将其恢复已呈现(通过在$timeout
内重置data-minute-step
。
请注意,我已将ng-attr-data-minute-step
更改为 // start a page
PdfDocument.Page page = document.startPage(pageInfo);
Canvas c = page.getCanvas();
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(1000, 50);
CardView card = new CardView(this);
card.setLayoutParams(params);
card.setRadius(4f);
Bitmap cardBitmap = Utils.loadBitmapFromView(card);
c.drawText("tessssssttt", 30, 30, p);
c.drawBitmap(cardBitmap, new Rect(0,0,1000,50), new Rect(5, 50, 995, 100), p);
document.finishPage(page);
,因为我认为它会使其有效。