2015-09-07 12 views
5

iyi çalışıyor.Çıkarma href Bir açısal (v1.2.28) Direktifi</p> <p>href veya ng-href özelliklerini kaldırmak çalışıyorum

Bu durumu anlamama yardımcı olabilir misiniz?

Sadece burada jsfiddle http://jsfiddle.net/gfvewv5u/1/

angular.module('ui.directives', []); 
angular.module('ui', ['ui.directives']); 

angular.module('ui.directives', []).directive('uiTool', 
    function() { 
    return { 
    restrict: 'EAC', 
    require: '?ngModel', 
    link: function($scope, element, attrs, controller) { 
     var controllerOptions, options; 
     attrs.$set('href', null); 
     element.removeAttr('href'); 
     element.text('iamfoo for what'); 
    } 
    }; 
}); 

angular.module('myApp', ['ui.directives']) 
    .controller('testCtrl', function($scope){ 
    $scope.val = 1; 
    }); 

Ve HTML yapılan 2 bağlantı

+1

fiddle güncellenen ;. Yani [] angular.module ('ui.directives', []) 'dan kaldırın.Gerçekten yönerge (' uiTool ', – intekhab

cevap

4

doens't ise ilk bağlantı hala href var benim örnek dayanarak

<div ng-app="myApp"> 
    <div ng-controller="testCtrl"> 
     <a ui-tool href="/test/ts/{{val}}" >Link need to be removed</a> 
     <a ui-tool href="/test/ts" >Link remove</a> 
    </div> 
</div> 

Bağımlı değeri olan öğedeki kapsamı yok etmelisiniz. Köşeli bu bağları dahili olarak takip eder ve href'i sıfırlar.

element.scope().$destroy(); 

şöyle:

link: function($scope, element, attrs, controller) { 
    element.scope().$destroy(); 
    element.removeAttr('href'); 
    element.text('iamfoo for what'); 
} 

Zaten açısal modül angular.module ('ui.directives', []) tanımladık

+0

Gerçekten iyi çalışıyor –

+0

Eğer kapsam bağlama yok edersem, amiright? –

+0

Merhaba @BrunoSantos Bu demek istediğimi yapıyorsa bağlayıcıyı kaldırır, ama bu sorunun cevabı bu oldu – Jorg