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

  • andony5589

    andony5589

    7 Aralık 2011
  • mist64

    mist64

    30 Mayıs 2006
  • SRT Photoshop Tutorials

    SRT Photosho

    19 Aralık 2012