# Interface Directive

interface Directive {
$$addStateInfo: ((arg0: any[]) => any);
bindToController: boolean | {
[boundProperty: string]: string;
};
compile: DirectiveCompileFn;
controller: string | Injectable<T>;
controllerAs: string;
link: DirectiveLinkFn | DirectivePrePost;
multiElement: boolean;
priority: number;
replace: boolean;
require: string | string[] | {
[controller: string]: string;
};
restrict: string;
scope: boolean | {
[boundProperty: string]: string;
};
template: string | ((tElement: JQLite, tAttrs: {}) => string);
templateNamespace: string;
templateUrl: string | ((tElement: JQLite, tAttrs: {}) => string);
terminal: boolean;
transclude: boolean | "element" | {
[slot: string]: string;
};
}

- Defined in types.js:238

#####
Index

### Properties

$$addStateInfo
bindToController
compile
controller
controllerAs
link
multiElement
priority
replace
require
restrict
scope
template
templateNamespace
templateUrl
terminal
transclude

##
Properties

### $$addStateInfo

$$addStateInfo: ((arg0: any[]) => any)

Hidden properties added by router

- Defined in types.js:271

### bindToController

bindToController: boolean | {
[boundProperty: string]: string;
}

Bindings to controller.

- Defined in types.js:245

### compile

compile: DirectiveCompileFn

Compile function for the directive.

- Defined in types.js:239

### controller

controller: string | Injectable<T>

Controller constructor or name.

- Defined in types.js:241

### controllerAs

controllerAs: string

Controller alias.

- Defined in types.js:243

### link

link: DirectiveLinkFn | DirectivePrePost

Link function.

- Defined in types.js:247

### multiElement

multiElement: boolean

Multi-element directive flag.

- Defined in types.js:249

### priority

priority: number

Skip all directives on element

- Defined in types.js:251

### replace

replace: boolean

Deprecated: Replace flag.

- Defined in types.js:255

### require

require: string | string[] | {
[controller: string]: string;
}

Required controllers.

- Defined in types.js:257

### restrict

restrict: string

Restriction mode.

- Defined in types.js:259

### scope

scope: boolean | {
[boundProperty: string]: string;
}

Scope options.

- Defined in types.js:261

### template

template: string | ((tElement: JQLite, tAttrs: {}) => string)

HTML template.

- Defined in types.js:263

### templateNamespace

templateNamespace: string

Template namespace.

- Defined in types.js:265

### templateUrl

templateUrl: string | ((tElement: JQLite, tAttrs: {}) => string)

HTML template URL.

- Defined in types.js:267

### terminal

terminal: boolean

Directive priority.

- Defined in types.js:253

### transclude

transclude: boolean | "element" | {
[slot: string]: string;
}

Transclusion options.

- Defined in types.js:269