SORU
9 Temmuz 2013, Salı


angularjs Yönerge fonksiyon özniteliğinde belirtilen çağırın ve bir argüman

Bir öznitelik bağlanan bir yönerge oluşturmak istiyorum. Öznitelik kapsamında aranmalıdır işlevi belirtir. Ama ben de link işlevi içinde belirlenen işlev bağımsız değişken geçmek istiyorum.

<div my-method='theMethodToBeCalled'></div>

Bağlantı işlevi için geçmem gereken bir tartışma geçen bir WordPress kullanmak bir olay, ben bağlama fonksiyonu

app.directive("myMethod",function($parse) {
  restrict:'A',
  link:function(scope,element,attrs) {
     var expressionHandler = $parse(attrs.myMethod);
     $(element).on('theEvent',function( e, rowid ) {
        id = // some function called to determine id based on rowid
        scope.$apply(function() {expressionHandler(id);});
     }
  }
}

app.controller("myController",function($scope) {
   $scope.theMethodToBeCalled = function(id) { alert(id); };
}

Kimliği geçmeden onu çalıştırabilirim, ama bir değişken geçmek için çalışıyorum en kısa sürede, işlevi artık çağrılmaz

CEVAP
21 Kasım 2013, PERŞEMBE


Marko'nun çözüm iyi çalışıyor.

Tavsiye Açısal yol treeface. plunkr tarafından gösterildiği gibi) ile kontrast için expressionHandler tanımlama gerektirmeyen bir geri arama ifadesini kullandı. Marko içinde örnek değiştirin:

Şablonda

<div my-method="theMethodToBeCalled(myParam)"></div>

Direktif bağlantı fonksiyonu

$(element).click(function( e, rowid ) {
  scope.method({myParam: id});
});

Bu bir dezavantaj marko'nun çözüm theMethodToBeCalled fonksiyon === tanımsız myParam ile çağrılacak ilk yüküne göre var.

Çalışan bir exampe @treeface Plunker bulunabilir

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • gamingbits

    gamingbits

    2 Mayıs 2006
  • MkElite

    MkElite

    13 NİSAN 2012
  • THE RED DRAGON

    THE RED DRAG

    6 ŞUBAT 2009