2013-09-27 22 views
7

numaralı bağlantıya nasıl yüklerim Bir ada sahip bir kullanıcı ve isteğe bağlı giriş sayfası var. İsteğe bağlı olarak adını bir bağlantı etiketine nasıl koyarım? AngularJS'de, isteğe bağlı olarak bir öğeyi

<ul ng-repeat='person in people'> 
    <li> 
    <a href="{{person.website}}"> 
     {{person.name}} 
    </a> 
    </li> 
</ul> 

veya person.website Ben <%= link_to_unless person.website.blank?, seller.name, seller.website %>

nasıl angularjs bu yaparsınız yöntemini kullanırsınız raylar ise

<ul ng-repeat='person in people'> 
    <li> 
    {{person.name}} 
    </li> 
</ul> 

nil olduğu durumda

?

$scope.linkToUnless = function(condition, label, href) { 
    return condition ? '<a href="'+href'+">'+label+'</a>' : label; 
}; 

yoksa böyle bir şey için HTML yeniden işleme olabilir:

cevap

4

Sen kapsamı aşağıdaki işlevi ekleyin olabilir OP'ın comment esinlenerek

<ul ng-repeat='person in people'> 
    <li> 
    <a href="{{person.website}}" ng-if="person.website"> 
     {{person.name}} 
    </a> 
    <span ng-if="!person.website"> 
     {{person.name}} 
    </span> 
    </li> 
</ul> 

(sadece bir not, ng-if olduğunu yalnızca eski sürüm 1.1.5'den beri kullanılabilir, daha eski sürümler için ve ng-hide yerine

veya özel bir yönerge yazabilir ve kullanabilirsiniz:

<link-to-if href="person.website" label="person.name" /> 
+0

Üç olasılık için teşekkür ederiz. Açısal acemi olarak hangisini tercih edeceğimi bilmiyorum. – zhon

+0

Ben hızlı, kolay ve hala HTML – adamziel

+0

içinde daha açısal yönergelerini kullanmak için bir seçenek verir beri ikinci bir giderdim Bu soruyu cevap verirse bu cevabı kabul etmek için tereddüt etmeyin :) – adamziel

İlgili konular