とだから私は、使用が宣言要素を非表示にしたり表示しできるようになります。このディレクティブを持っている:複製NG-IFディレクティブ
<div cdt-visible-to="Admin,Moderator">...</div>
だから、私たちのHTMLは、可能な限り、宣言のようになります。そして、これは私たちのディレクティブは次のようになります。
eDiscovery.directive('cdtVisibleTo', ['AuthService', function (AuthService) {
return {
restrict: 'AE',
link: function ($scope, elem, attrs) {
let cdtArray = String(attrs['cdtVisibleTo'] || '')
.split(/[ ,]+/).map(i => String(i).trim()).filter(i => i);
let ln = cdtArray.length;
for (let i = 0; i < ln; i++) {
let r = cdtArray[i];
if(AuthService.hasPersona(r)){
elem.removeAttr('hidden');
return;
}
}
elem.attr('hidden', 'hidden');
}
}
}]);
これがスタンドインng-show
のためのようなものです。
私の質問は何ですか?ng-if
のスタンドインはどうですか?
Angularディレクティブを使用してDOMから要素を完全に削除するにはどうすればよいですか?
おかげで、それは)(angular.elementとのelemをラップする必要があるのでしょうか? –
remove()メソッドを使用する必要があります。ネイティブJSを使用する場合は、elem.parentNode.removeChild(elem)を使用できます。 – Sergio10
ありがとう:)私はangular.elem()を使用すると思いますが、jQueryを背後で使っていると思います。 –