2013-08-19 11 views
5

http://plnkr.co/edit/b1yGAwkzojF4BFWgpMsv?p=preview'फ़िल्टर' क्यों कई बार ट्रिगर करता है?

filter क्यों कई बार ट्रिगर किया?

मुझे लगता है कि {{name|test}} दो बार टिगर करेगा क्योंकि नाम पहले null है, फिर नियंत्रक पर मूल्य प्राप्त हुआ।

टेम्पलेट को शामिल करते समय filter क्यों ट्रिगर किया?

+0

मेरा प्रश्न है 'टेम्पलेट को शामिल करते समय फ़िल्टर क्यों ट्रिगर किया गया?' – atian25

उत्तर

8

प्रत्येक फ़िल्टर को प्रत्येक पाचन चक्र में कम से कम एक बार बुलाया जाता है। This SO answer एक पहेली है जो इसे दर्शाता है।

जब कोई टेम्पलेट लोड होता है, तो आप एक पाचन चक्र में होते हैं, इसलिए सभी फ़िल्टर बुलाए जाएंगे।

+0

यह पागल है ... कोणीय ने हमें बताया कि यह केवल तभी बदल जाएगा जब स्कोप बदल जाए, लेकिन इस मामले में, इसका मतलब है कि हमें कई अनावश्यक कैल्क मिलेगा प्रदर्शन के बारे में क्या? इससे बचने के लिए हमें क्या करना चाहिए? – atian25

+3

@ atian25, एक तरीका है फ़िल्टर को चलाने से बचने के लिए फ़िल्टर का उपयोग नहीं करना है - इसका मतलब है कि नियंत्रक में एक बार फ़िल्टर किए गए मान की गणना करें, परिणाम को एक दायरे की संपत्ति पर संग्रहीत करें, फिर उस संपत्ति का उपयोग दृश्य में करें। यह स्पष्ट रूप से प्रत्येक फ़िल्टर के लिए काम नहीं करेगा, लेकिन यह कुछ के लिए होगा। –

संबंधित मुद्दे