2012-07-24 12 views
6

Usando AngularJS, he notado un patrón que me parece incorrecto.usando AngularJS ng-bind y ng-href juntos?

Al compilar una tabla, mis datos se enlazan usando ng-bind. Pero si necesito que el texto de la celda se vincule con algo, el enlace debe crearse manualmente.

una célula no ligado tabla siguiente aspecto:

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

Pero si quiero crear un enlace, lo hago:

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

¿Hay una manera de crear el enlace utilizando atributos? Algo como:

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

Respuesta

7

Esto no es realmente un problema AngularJS; esto es más acerca de cómo funciona HTML. HTML no le permite agregar un atributo href a cualquier elemento para crear un enlace. Debe usar la etiqueta de anclaje para crear un enlace.

Si lo desea, puede write a directive que produce la etiqueta de anclaje dentro de las celdas. Pero eso apenas parece valer la pena, y la mayoría probablemente estaría de acuerdo en que produce menos marcas semánticas y más confusas.

enlaces HTML ESP: http://www.w3.org/TR/html4/struct/links.html

5

Usted podría utilizar ng-bind, sí, pero dentro de la <a>, como @btford dijo.

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