SORU
27 Ocak 2013, Pazar


Nasıl stopPropagation için AngularJS bir Direktif yapabilir miyim?

"Twitter Bootstrap önlemek için" li içinde bir öğe (link) tıklandığında kapanmasını açılan gezinti çubuğu. stopPropagation için çalışıyorum Bu yöntemi kullanarak 8* *ortak gibi görünüyor.

Açısal olarak, bir Direktif bunu yapmak için bir yer gibi görünüyor? Var:

// do not close dropdown on click
directives.directive('stopPropagation', function () {
    return {
        link:function (elm) {            
            $(elm).click(function (event) {                
                event.stopPropagation();
            });
        }
    };
});

... ama yöntemi elemana ait değil:

TypeError: Object [object Object] has no method 'stopPropagation'

Yönetmelikte ben kravat ile

<li ng-repeat="foo in bar">
  <div>
    {{foo.text}}<a stop-propagation ng-click="doThing($index)">clickme</a>
  </div>
</li>

Herhangi bir öneriniz var mı?

CEVAP
27 Ocak 2013, Pazar


"Şu anda bazı direktifler (örneğin ng:tıklayın) olay yayılmasını durdurur. Bu birlikte çalışabilirlik gibi olayları yakalamak kullanan diğer çerçeveler ile engeller."- link

... ve bir Direktifi olmadan düzeltmek için mümkün olduğunu, ve sadece yapmak:

<a ng-click="doThing($index); $event.stopPropagation();">x</a>

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • BigDawsVlogs

    BigDawsVlogs

    17 HAZİRAN 2013
  • guau . .

    guau . .

    25 Ocak 2008
  • Matthew Pearce

    Matthew Pear

    9 AĞUSTOS 2009