6

मैं अपने कोणीय आवेदन में Bootstrap UI उपयोग कर रहा हूँ के साथ AngularJS। मेरे पास एचटीएमएल पेज में एक टूलटिप है जो ठीक काम करता है। मैंने देखा कि टूलटिप प्रदर्शित होने के बाद और मैं अपना माउस बाहर ले जाता हूं, यूआई-बूटस्ट्रैप-टीपीएलएसजेएस "hideTooltipBind" नामक एक विधि को सक्रिय करता है जो बदले में $ लागू होता है और यह उस दायरे में फिर से लोड करने के लिए फ़िल्टर को ट्रिगर करता है।बूटस्ट्रैप ui फिल्टर मुद्दा

चलें कहते हैं कि मैं जो 100 प्रत्येक की एक सरणी फ़िल्टर कर रही है दायरे में 10 फिल्टर की है। प्रत्येक बार टूलटिप प्रदर्शित होता है, मेरे सभी फ़िल्टर फिर से लोड करने के लिए मजबूर होते हैं। इससे कैसे बचा जा सकता है? मैं

//ajax.googleapis.com/ajax/libs/jqueryui/1/jquery-ui.min.js 
jquery-2.0.3.js 
ui-bootstrap-tpls-0.11.0.js 

उपयोग कर रहा हूँ मैं कॉल स्टैक

enter image description here

+1

टूलटिप निर्देश वास्तव में टूलटिप के लिए एक [अलग स्कोप] (https://github.com/angular-ui/bootstrap/blob/master/src/tooltip/tooltip.js#L110) बनाता है। क्या आपको यकीन है कि यह * आपके * पूरे दायरे को पचाने का कारण बनता है? –

+0

हां, यह सभी घड़ियों को ट्रिगर करता है और पुन: मूल्यांकन फ़िल्टर करता है। – Gokul

+5

यह बूटबैप यूआई टीम से मिली प्रतिक्रिया है "इस तरह एंगुलरजेएस काम करता है - $ scope के लिए कोई भी कॉल। $ लागू सभी घड़ियों को ट्रिगर करेगा और पुन: मूल्यांकन फ़िल्टर करेगा। इसका टूलटिप्स से कोई लेना-देना नहीं है - आप वही देखेंगे व्यवहार, उदाहरण के लिए, एक इनपुट क्षेत्र में पाठ दर्ज करना। " – Gokul

उत्तर

0

के स्क्रीनशॉट आप एक बार किसी न किसी रूप से बाध्यकारी उपयोग कर सकते हैं संलग्न है। वहाँ कई विकल्प वहाँ बाहर हैं:

हैं (कार्ल Seamons काम के बंद कांटा)

  • bind-once tadeuszwojcik द्वारा pasvaz
  • angular-once द्वारा
  • watch-fighters abourget
  • fast-bind से मेरे द्वारा चार में कुछ मतभेद (हाथ में आपके प्रश्न से संबंधित नहीं):

    • बाँध-एक बार सबसे लोकप्रिय सबसे अधिक सक्रिय विकास को देखकर एक है। नौकरी करने के लिए दो निर्देशों की आवश्यकता है (bindonce और bo-*)।
    • कोणीय-एक बार चार की minimalist (मुझे उस पर बोली नहीं है) है।
    • घड़ी सेनानियों वादा आधारित डेटा को संभाल नहीं करता है।
    • तेजी से बाँध कोणीय में घटना बस का उपयोग कर, अर्द्ध स्थिर बाइंडिंग के लिए एक सूचक प्रणाली है।

    मान लिया जाये कि आप उनमें से एक लाभ या तो शुरू करना चाहते हैं, अपने बाइंडिंग कुछ इस तरह दिखाई दे सकता है:

    <div bindonce="someData"> 
        <span bo-bind="someData.text | yourFilter"></span> 
    </div> 
    

    <span once-text="someData.text | yourFilter"></span> 
    

    <span set-text="someData.text | yourFilter"></span> 
    

    <span bind-once="someData.text | yourFilter"></span> 
    

    इस तरह, आपके फिल्टर $digest करने कोणीय कॉल पर पुनर्मूल्यांकन नहीं होगा। यदि आप अपने दृश्य में संग्रह फ़िल्टर कर रहे हैं (<li ng-repeat="coll | filter"></div>), तो मैं सुझाव दूंगा कि आप फ़िल्टर को स्वयं कॉल करने की मात्रा को कम करने के लिए उन फ़िल्टर को नियंत्रक में ले जाएं।

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