In this angular document: http://docs.angularjs.org/guide/concepts, there is an example about
A directive is a behavior or DOM transformation which is triggered by the presence of a custom attribute, element name, or a class name. A directive allows you to extend the HTML vocabulary in a declarative fashion. Following is an example which enables data-binding for the contenteditable in HTML.
The plunker has
ng-app instead of
ng-app='directive' in the index.html.
See this plunker for a working version.