Please see this jsfiddle: http://jsfiddle.net/viro/DK5pC/3/
What I did looks right compared to the tutorials and replies I've found, so I'm sure I'm overlooking something trivial.
I'm trying to do a directive on a html element, that will create a sibling div to display a message associated with the original element.
for example, for this html :
<input ng-model="inp" tst-msg="message" /> I would create as a sibling element:
<div class="msg">Msg:<span ng-bind="tstMsg"></span></div> I was hoping that tstMsg in the div's scope would be bound to message in the input's scope.
Here's what the directive looks like :
angular.module('tst', []) .directive('tstMsg', function(){ var template = "<div class='msg' >Msg:<span ng-bind='tstMsg'></span></div>"; var link = function(scope,element,attrs) { element.parent().append(template); console.log("link called"); }; return { restrict: 'A', scope: { tstMsg: '=' }, link: link }; }); Well that doesn't work and I can't figure out why.