34 lines
		
	
	
		
			872 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
		
		
			
		
	
	
			34 lines
		
	
	
		
			872 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
|  | // #docplaster
 | ||
|  | // #docregion
 | ||
|  | // #docregion unless-declaration
 | ||
|  | import {Directive, Input} from 'angular2/core'; | ||
|  | 
 | ||
|  | // #enddocregion unless-declaration
 | ||
|  | import {TemplateRef, ViewContainerRef} from 'angular2/core'; | ||
|  | 
 | ||
|  | // #docregion unless-declaration
 | ||
|  | @Directive({ selector: '[myUnless]' }) | ||
|  | export class UnlessDirective { | ||
|  |   // #enddocregion unless-declaration
 | ||
|  | 
 | ||
|  |   // #docregion unless-constructor
 | ||
|  |   constructor( | ||
|  |     private _templateRef: TemplateRef, | ||
|  |     private _viewContainer: ViewContainerRef | ||
|  |     ) { } | ||
|  |   // #enddocregion unless-constructor
 | ||
|  | 
 | ||
|  |   // #docregion unless-set
 | ||
|  |   @Input() set myUnless(condition: boolean) { | ||
|  |     if (!condition) { | ||
|  |       this._viewContainer.createEmbeddedView(this._templateRef); | ||
|  |     } else { | ||
|  |       this._viewContainer.clear(); | ||
|  |     } | ||
|  |   } | ||
|  |   // #enddocregion unless-set
 | ||
|  |   // #docregion unless-declaration
 | ||
|  | } | ||
|  | // #enddocregion unless-declaration
 | ||
|  | // #enddocregion
 |