Impostare un binding bidirezionale per lo scope di una direttiva custom in AngularJS

di Stefano Mostarda, in HTML5, AngularJS,

Nello script #159 abbiamo visto come creare uno scope dedicato a una direttiva custom. In quello script abbiamo specificato uno scope monodirezionale, cioè dove lo scope del contenitore imposta il valore delle prorietà dello scope della direttiva. In questo script invece specifichiamo uno scope bidirezionale dove il cambio del valore delle proprietà dello scope della direttiva viene propoagato anche allo scope del contenitore.
Per specificare questo comportamento dobbiamo semplicemente anteporre il carattere "=" al nome della proprietà dello scope padre come mostrato nell'esempio.

.directive('myDir', function () {
  return {
    scope:{
      Nome: '=Nome',
      Cognome: '=Cognome'
    }
  };
});

A questo punto, quando la direttiva modifica il valore di Nome o Cognome, queste modifiche vengono propagate anche allo scope padre. L'uso della direttiva è visibile come nel prossimo codice.

<my-dir nome="{{parentScopeNome}}" cognome="{{parentScopeCognome}}"></my-dir>

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi