2015-10-14 3 views
2

Я просто хочу делать противоположное this.Here является рабочим демо: http://jsfiddle.net/KQQD2/4/Сделать ссылку включить и отключить в угловом

Значит, первые ссылки времени должны быть отключить и unclickable, когда я проверил флажок Я просто хочу, чтобы сделать link enable и clickable.

Вот код:

var app = angular.module('app', []); 

    app.controller('appCtrl', function($scope, $window){ 
     $scope.disableIt = false; 
     $scope.tellAboutIt = function(){ 
      $window.alert('ngClick fired. This alert should not show when disabled.'); 
     }; 
    }); 

    app.directive('disableable', function($parse){ 
     return { 
      restrict: 'C', 
      link: function (scope, elem, attrs) { 
       scope.$watch('disableIt', function (val) { 
        if (!val) { 
         elem.addClass('disabled'); 
         elem.css('cursor', 'default'); 
         elem.bind('click', function(e) { 
          e.preventDefault(); 
         }); 
        } 
        else { 
         elem.removeClass('disabled'); 
         elem.css('cursor', 'pointer'); 
         if (typeof elem.attr('ng-click') === 'undefined') 
          elem.unbind('click'); 
        } 
       }); 
      } 
     }; 
    }); 

Заранее спасибо

ответ

1

поведение вы сказали, было достигнуто путем

"disableIt || tellAboutIt()" 

в

"disableIt && tellAboutIt()" 

в HTML части Я нашел в js Скрипки.

+0

его не Working..As вы можете увидеть в скрипке, когда мы меняем его как «истину». Как вы сказали. Он впервые включил флажок, и я хочу, чтобы «когда я установил флажок, я просто хочу сделать ссылку включенной и доступной» – Rahul

+0

Вы имеете в виду, что хотите измените также текст на «ngClick enabled link»? –

+0

Нет, этого я не хочу достичь. Я хочу, чтобы флажок в первый раз был снят, а ссылка также должна быть отключена и непривязана. И когда отмечен флажок флажка, я хочу сделать ссылки включенными и кликабельными, вот и все. – Rahul

0

Вы могли бы сделать что-то вроде этого: Учитывая у вас есть значение флажка в Вашей области

$scope.data.checkValue = false 
$scope.data.url = "http://foo.com" 

А на ваш взгляд:

<a ng-show="data.checkValue" href="data.url">bla</a> 
<p ng-show="!data.checkValue">{{data.url}}</p> 
+0

Я не хочу показывать/скрывать данные. Я просто хочу сделать ссылку кликабельной или unclickable на основе значения флажка. – Rahul

+0

@ user5320720 Затем вместо 'ng-show' try' ng-disabled' – Yang

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