ホスト要素をページ上に表示するかどうかを決定する指示文を作成したいとします。理想的には、DOMから要素を削除するだけでなく、CSSで非表示にすることもできます。ユースケースは、次のとおりです。角度2のディレクティブでホストDOM要素を条件付きで挿入/削除する方法
<ul role="navigation">
<li><a>public link</a></li>
<li><a>public link2</a></li>
<li access="admin"><a>admin-only link</a></li>
</ul>
そこには管理li
が削除されるだろうがありません場合は、CurrentUserに役割を取得するためにUserServiceのを使用します。
私はng-if
(角2でまだ利用可能な場合)と同じ効果を得ることができると思います。しかし、このディレクティブでは、意味論的でエレガントです。
可能ですか?
import {Directive} from 'angular2/angular2';
@Directive({
selector: 'access'
})
export class Access {
//what goes here
}
私は簡単にその(ディレクティブのcompile
関数内で)1の角度で行われていたかもしれないが、私は角2でこれをどのように行うことができますか?
を私はhttps://github.com/IbraheemAlSaady/angular-role-restrict-directive/、ここに私のGitHubのレポでディレクティブを追加しましたtree/master/angular2 コードはあなたが望むものと少し違っていますが、あなた自身のものを構築するのに役立ちます。 –