2016-07-28 3 views
0

У меня есть таблица, которая имеет count coulmn & count имеет <a> тег с href на страницу. Я хочу показать ссылку для всех count > 0 и отключить для count=0.Якорная бирка отключена с использованием ng-класса и условия

Я пробовал AngularJS - ng-disabled not working for Anchor tag и узнал, что использование ng-disabled бесполезно.

Использование ng-class поможет вам, но я не могу указать условие в ng-class.

P.S. Я хочу, чтобы cursor:not-allowed был написан в ng-class сам. Невозможно изменить CSS

Вот мой HTML код

<tr ng-repeat="service in services"> 
    <td>{{$index+1}}</td> 
    <td>{{service.serviceName}}</td> 
    <td><a href="#/info/{{service.id}}">{{service.numberOfScenarios}}</a></td> 
</tr> 

numberOfScenarios отображает count.

ответ

1

Если вы хотите показать основную информацию, используйте ng-show.

Если вы хотите применить любые классы, используйте ng-class. cursor:not-allowed является CSS, если у вас есть на классе уже применяют его ng-class="{'yourclassname':angular-condition}"

Вы также можете использовать что-то вроде этого:

<td> 
    <a ng-href="#/info/{{service.id}}" ng-show="service.numberOfScenarios > 0"><span ng-bind="service.numberOfScenarios></span></a> 
</td> 

ссылка не будет отображаться для service.numberOfScenarios === 0. Тогда не нужно добавлять CSS.

Update:

<td> 
    <a ng-href="#/info/{{service.id}}" ng-show="service.numberOfScenarios > 0"> 
     <span ng-bind="service.numberOfScenarios"></span> 
    </a> 
    <span ng-show="service.numberOfScenarios === 0" ng-bind="service.numberOfScenarios" style="cursor:not-allowed;"></span> 
</td> 
+0

Это нормально. Но я хочу показать '0' без ссылки на него. значение 'count' должно быть показано –

+0

Это тоже работает .. Спасибо !!! Выше код @nitz также работал, но hardcoding не был тем, что я искал. –

+0

Я получал крест-символ, когда наводил курсор на 0 .. поэтому использовал @nitz class = "notAllowedClass" и работал нормально. –

1

Вы можете использовать в качестве devjsp предложить, чтобы скрыть ссылку.

Или вы можете использовать что-то вроде этого.

<a ng-href="count > 0 ? '#/info/{{service.id}}' : ''">Google</a> 

Обновлено:

<span ng-show="count > 0"> 
    <a href="#/info/{{service.id}}">Link</a> 
</span> 
<span ng-show="count === 0" class="notAllowedClass"> 
    0 <!-- As you suggested in another answer that you want to show 0 count --> 
</span> 
+0

Для 'count = 0' ссылка все равно будет там. Я не хочу самой ссылки. –

+0

Да, работает! Спасибо .. Мне понравился способ @devjsp, потому что он не закодировал 0 в HTML. Но в любом случае оба работают ... –

Смежные вопросы