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

  • Justin Schenck

    Justin Schen

    24 Kasım 2006
  • Pál Zoltán Illés

    Pál Zoltán

    30 NİSAN 2007
  • technodromeband's channel

    technodromeb

    28 NİSAN 2011