簡體   English   中英

HTML視圖上的角ng-if表達式

[英]Angular ng-if expression on html view

我想在我的html中顯示一個日期值(帶有管道表達式),但前提是該日期存在。 如果該字段返回為空,則在控制器js代碼中將其替換為N/A

我認為這應該很簡單,但是在使其工作時遇到了一些麻煩。

當前顯示日期,如果date為null,則顯示空白。

 <div> <label> {{ctrl.data.myDate | stringToDate:'yyyy-MM-dd'}} </label> </div> 

我正在努力 :

 <div> <label> <span ng-if="ctrl.data.myDate!='N/A'"> {{ctrl.data.myDate | stringToDate:'yyyy-MM-dd'}} </span> </label> <label> <span ng-if="ctrl.data.myDate=='N/A'"> N/A </span> </label> </div> 

但是,當日期為N/A時,它將顯示null

這有效,但是沒有管道表達式-但是,我需要正確地管道日期字符串:

 <span>{{vm.data.myDate==='N/A' ? "N/A" : vm.data.myDate }}</span>

更新

我正在嘗試使用Angular $filter提供程序的另一種方法。 因此,如果myDate不為空,則可以在js控制器中設置日期格式:

  vm.data.myDate = $filter('date')(new Date(data[0].closeDate), 'yyyy-MM-dd');
 <span>
{{ (vm.data.myDate==='N/A' || !vm.data.myDate) ? "N/A" : (vm.data.myDate | date:'yyyy-MM-dd') }}
</span>

在一個變量中包含視圖值和模型值是錯誤的方法。 您應遵循以下條件之一:

僅存儲模型值,因此js中的日期可以為null,而html中的日期:

{{ctrl.data.myDate | date:'yyyy-MM-dd' || 'N/A'}}

或者,您也存儲視圖值,那么應該在控制器中解析它:

     ctrl.data.myDateText = $filter('date')(ctrl.data.myDate, 'yyyy-MM-dd'); || 'N/A'
in html: {{ctrl.data.myDateText}}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM