ホスト要素をページに表示するかどうかを決定するディレクティブを作成したいと考えています。理想的には、要素をCSSで非表示/表示するだけでなく、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>
UserService を使用して currentUser ロールを取得し、そこに管理者がいない場合li
は削除されます。
ng-if
メインコンポーネントで評価する式を渡すことで、(angular 2 でまだ利用可能な場合)同じ効果を達成できると思います。しかし、ディレクティブを使用すると、よりセマンティックでエレガントになります。
出来ますか?
import {Directive} from 'angular2/angular2';
@Directive({
selector: 'access'
})
export class Access {
//what goes here
}
angular 1 (ディレクティブの関数内) で簡単に実行できましたがcompile
、Angular 2 でこれを行うにはどうすればよいですか?