2012-07-24 56 views
6

AngularJS kullanarak, bana yanlış gelen bir desen fark ettim.AngularJS ng-bind ve ng-href birlikte mi kullanıyorsunuz?

Tablo oluştururken, verilerim ng-bind kullanılarak bağlanır. Ancak hücredeki bir şeye bağlantı vermek için metne ihtiyacım varsa, bağlantının elle oluşturulması gerekir.

olmayan bağlantılı tablo hücresi gibi görünür:

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

Ama bir bağlantı oluşturmak istiyorsanız, yapmam:

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

özelliklerini kullanarak bağlantı oluşturmak için bir yolu var mı? Şunlar gibi:

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

cevap

7

Bu gerçekten bir AngularJS sorunu değil; Bu, HTML'nin nasıl çalıştığıyla ilgilidir. HTML, bağlantı oluşturmak için herhangi bir öğeye href özniteliği eklemenize izin vermez. Bağlantı oluşturmak için bağlantı etiketini kullanmanız gerekir.

İsterseniz, hücre içindeki bağlantı etiketini üreten write a directive olabilir. Ama bu pek de zor gibi görünmüyor, ve büyük olasılıkla daha az anlamsal, daha kafa karıştırıcı işaretlemeler ürettiğine katılıyor.

HTML bağlantıları spec: Sen ng-bind evet ama <a> içine kullanabilirsiniz http://www.w3.org/TR/html4/struct/links.html

5

, @btford söylediği gibi.

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