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

  • MrOctopi

    MrOctopi

    6 Aralık 2010
  • New Scientist

    New Scientis

    27 Kasım 2006
  • pilslajt

    pilslajt

    20 HAZİRAN 2008