我正在努力实现以下目标:
如果$ scope.loginData.use24hr为true,我想调用
<div class="timeline_text" ion-datetime-picker am-pm ng-model="datetimeValueTo.value" ng-change="dateChanged()">
如果$ scope.loginData.use24hr为false,我想调用
<div class="timeline_text" ion-datetime-picker ng-model="datetimeValueTo.value" ng-change="dateChanged()">
换句话说,&#34; am-pm&#34;是需要有条件地消失的属性。
ion-datetime-picker
是3rd party directive。
要做到这一点,我正在做:
<div class="timeline_text" ion-datetime-picker ng-attr-am-pm="{{!loginData.use24hr|| undefined}}" ng-change="dateChanged()">
然而,无论use24hr的值如何,它总是放置am-pm属性。谁能告诉我这里做错了什么?感谢
根据答案进行更新
编辑包含对JC回答的回复:
<ion-item>
<div ion-datetime-picker title="From" ng-attr-am-pm="!!loginData.use24hr" ng-model="datetimeValueFrom.value">
<b>VALUE:{{!loginData.use24hr}} From: </b>{{datetimeValueFrom.value | date: timeFormat}}
</div>
</ion-item>
我强制布尔只是为了确保,但正如你所看到的那样无论价值如何,AM-PM指令总会出现
答案 0 :(得分:1)
该属性可以取值。要关闭它,请使用am-pm={{!loginData.use24hr}}
注意:看起来它需要布尔false
而不仅仅是假的。除布尔false
之外的任何值都将启用am-pm行为。
如果您需要将值强制为布尔值,请尝试以下操作:am-pm={{!!loginData.use24hr}}
https://github.com/katemihalikova/ion-datetime-picker/blob/master/src/picker.js#L165