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

  • DroidModderX ROOT Master

    DroidModderX

    14 ŞUBAT 2011
  • megablueblaster

    megablueblas

    23 HAZİRAN 2006
  • ThisWeekYT

    ThisWeekYT

    14 Mart 2013