javascript - Angularjs टेम्पलेट डिफ़ॉल्ट मान अगर बाध्यकारी शून्य/अपरिभाषित(फ़िल्टर के साथ)
templates binding (4)
नरम ब्रैकेट में अभिव्यक्ति के बाईं ओर लपेटने के लिए मुझे जो कुछ करना है, उसे बदल देता है:
<span class="gallery-date">{{(gallery.date | date:'mediumDate') || "Various"}}</span>
मेरे पास एक टेम्पलेट बाध्यकारी है जो 'तिथि' नामक एक मॉडल विशेषता प्रदर्शित करता है जो एक तिथि है, कोणीय के दिनांक फ़िल्टर का उपयोग कर।
<span class="gallery-date">{{gallery.date | date:'mediumDate'}}</span>
अब तक सब ठीक है। हालांकि फिलहाल, यदि दिनांक फ़ील्ड में कोई मूल्य नहीं है, तो बाध्यकारी कुछ भी प्रदर्शित नहीं करता है। हालांकि, अगर कोई तारीख नहीं है तो मैं इसे 'विभिन्न' स्ट्रिंग प्रदर्शित करना चाहता हूं।
मैं एक बाइनरी ऑपरेटर का उपयोग कर मूल तर्क प्राप्त कर सकता हूं:
<span class="gallery-date">{{gallery.date || 'Various'}}</span>
हालांकि मैं इसे डेट फ़िल्टर के साथ काम नहीं कर सकता:
<span class="gallery-date">{{gallery.date | date:'mediumDate' || "Various"}}</span>
मैं डेट फ़िल्टर के साथ बाइनरी ऑपरेटर का उपयोग कैसे कर सकता हूं?
बस अगर आप कुछ और कोशिश करना चाहते हैं। इसी से मेरा काम बना है:
टर्नरी ऑपरेटर के आधार पर जिसमें निम्नलिखित संरचना है:
condition ? value-if-true : value-if-false
परिणाम के रूप में:
{{gallery.date?(gallery.date | date:'mediumDate'):"Various" }}
मैंने निम्नलिखित फ़िल्टर बनाया:
angular.module('app').filter('ifEmpty', function() {
return function(input, defaultValue) {
if (angular.isUndefined(input) || input === null || input === '') {
return defaultValue;
}
return input;
}
});
इस तरह इस्तेमाल किया जाना चाहिए:
<span>{{aPrice | currency | ifEmpty:'N/A'}}</span>
<span>{{aNum | number:3 | ifEmpty:0}}</span>
मैं डेट फ़िल्टर के साथ बाइनरी ऑपरेटर का उपयोग कैसे कर सकता हूं?
<span class="gallery-date">{{gallery.date | date:'mediumDate' || "Date Empty"}}</span>
आप भी कोशिश करते हैं:
<span class="gallery-date">{{ gallery.date == 'NULL' ? 'mediumDate' : "gallery.date"}}</span>