heart of the framework
modularity
re-usability
self-contained
declarative, data-driven, and conversational
based on the data structure
template definitions
scope, element, attributes
propagated and broadcast
model and data changes
injectable definitions
element as jQuery object
synchronize with services
$emit and $broadcast
separate modules
reuse and dry
keyword 'directive'
configuration
link function
camelCase
snake-case
'data-' or 'x-'
element
attributes
class name
HTML comment
Priority
Terminal
Templating
Replace
Link and Compile
Scope
Controller
Require
Transclusion
compile phase
linking phase
{ pre: compile, post: link }
scope = false
scope = true
scope = {}
@ read-only Access
= two-way binding
& method binding
translated-inclusion
tunnel for parent scope
child nodes
$transclude
By Kris Ivanov
Principal software and technology consultant, providing dependable web application design and development solutions