2012-07-24 15 views
6

Uso AngularJS, ho notato un modello che sembra sbagliato per me.Utilizzando AngularJS ng-bind e ng-href insieme?

Quando si costruisce una tabella, il mio dati è associato utilizzando ng-bind. Ma se ho bisogno del testo nella cella per collegarmi a qualcosa, il collegamento deve essere creato manualmente.

Una cella non collegata tavolo assomiglia:

<td ng-bind="customer.name"></td> 

Ma se voglio creare un collegamento, lo faccio:

<td><a ng-href="/customer/{{customer.id}}">{{customer.name}}</a></td> 

C'è un modo per creare il collegamento mediante gli attributi? Qualcosa del tipo:

<td ng-bind="customer.name" ng-href="/customer/{customer.id}"></td> 

risposta

7

Questo non è proprio un problema di AngularJS; questo è più su come funziona l'HTML. HTML non consente di aggiungere un attributo href a qualsiasi elemento per creare un collegamento. È necessario utilizzare il tag di ancoraggio per creare un collegamento.

Se si vuole, si potrebbe write a directive che produce il tag di ancoraggio all'interno delle cellule. Ma a stento sembra che ne valga la pena, e la maggior parte sarebbe probabilmente d'accordo sul fatto che produce un markup meno semantico e più confuso.

link HTML spec: http://www.w3.org/TR/html4/struct/links.html

5

Si potrebbe utilizzare ng-bind, sì, ma all'interno del <a>, come @btford detto.

<td><a ng-href="/customer/{{customer.id}}" ng-bind="customer.name"></a></td> 
Problemi correlati