我有类似的东西
<input type="datetime"
data-ng-model="vm.dtPicker"
data-ng-init="(@Model.Expiration.HasValue ? vm.setDate(@Model.Expiration.Value.Year,@Model.Expiration.Value.Month,@Model.Expiration.Value.Day) : vm.setDate('','','')) "
class="form-control form-control-md date-align"
uib-datepicker-popup="MM/dd/yyyy"
is-open="vm.popup1.opened"
popup-placement="bottom-right"
ng-required="true"
name="Expiration"
datepicker-options="vm.dateOptions"
close-text="Close"
show-button-bar="true"
close-on-date-selection="true" readonly />
这是角度函数
function setDate(year, month, day) {
vm.dtPicker = new Date(year, month - 1, day);
};
如果Expiration有值,我需要根据条件调用setDate
函数。
但问题是@Model.Expiration.HasValue
返回 true 或 false ,但相应的SetDate()
不会调用。
假设Expiration没有值,它仍会调用vm.setDate(@Model.Expiration.Value.Year,@Model.Expiration.Value.Month,@Model.Expiration.Value.Day))
,我收到NullException
错误。
如果我有模型的过期日期,那么我应该填写文本框,否则我必须显示为null。
我在这里做错了什么?