data-ng-init不适用于itenary条件

时间:2017-08-09 09:47:08

标签: angularjs model-view-controller

我有类似的东西

 <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。

我在这里做错了什么?

0 个答案:

没有答案