SORU
10 Kasım 2013, Pazar


Açısal yönergesi ifadeler yönergesinde belirtilen işlev için bağımsız değişken'In niteliklerini geçebilir?

Bir ile callback belirli bir özniteliği kullanan Direktifi kapsamında izole bir form var:

scope: { callback: '&' }

Ben pass ifadesini geri çağırma işlevi için bir argüman olarak nesne id içerir ng-repeat: Bir içinde oturur

<directive ng-repeat = "item in stuff" callback = "callback(item.id)"/>

Direktif ile işim bittiğinde, kontrolör fonksiyonu $scope.callback() çağırır. Çoğu durumda, bu iyi, ve yapmak istediğim tek bir şey var, ama bazen directive içeriden başka bir argüman kendisi eklemek istiyorum.

Bu izin açısal ifadesidir: $scope.callback(arg2), callback arguments = [item.id, arg2] ile çağrıldığını sonuçlanır?

Bunu yapmak etkileyicisi yolu nedir?

Bu işleri buldum:

<directive 
  ng-repeat = "item in stuff" 
  callback = "callback" 
  callback-arg="item.id"/>

İle

scope { callback: '=', callbackArg: '=' }

ve Yönerge arıyorum

$scope.callback.apply(null, [$scope.callbackArg].concat([arg2, arg3]) );

Ama özellikle temiz ve kapsamı izole içinde ekstra şeyler puting içerir sanmıyorum.

Daha iyi bir yolu var mı?

22* *(Açık konsolu var).

CEVAP
10 Kasım 2013, Pazar


Eğer @lex82 tarafından belirtildiği gibi, geri arama bildirmek gibi

callback = "callback(item.id, arg2)" 

Nesne eşleme ile Direktif kapsamında geri arama yöntemi çağırabilir ve bağlama doğru yapardı. Gibi

scope.callback({arg2:"some value"});`

$ayrıştırmak için gerek kalmadan. Benim keman(konsol log) http://jsfiddle.net/k7czc/2/ bkz

Güncelleme: documentation: bu küçük bir örnek var

& veya &ot - bağlamında bir ifade çalıştırmak için bir yol sağlar üst kapsam. Eğer hiç bir sorudur adı öznitelik adı belirtilirse yerel adı ile aynı olduğu varsayılır. Ve kapsam tanımı verilen widget: { : '&' }, izole kapsam özellik localFn işaret eder myAttr localFn count fonksiyonu için bir sarıcı = count değeri ifade. Sık sık arzu bir ifade ile izole kapsam veri aktarmak için. ve üst kapsam için, bu yerel haritası ileterek yapılabilir ifade sarıcı fn içine değişken adları ve değerleri.Örneğin, eğer ifade artım miktarı ise miktarı belirtebilirsiniz bu localFn olarak localFn arayarak değeri({kapasitesi: 22}).

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • infodirt

    infodirt

    11 Mart 2009
  • Kindness

    Kindness

    23 Ocak 2006
  • thepoke64738

    thepoke64738

    17 HAZİRAN 2011