Answering more broadly, I think you'll get nothing but trouble trying to embed AngularJS attributes onto VisualForce elements. That doesn't mean you can't ever use AngularJS on a VF page, but they shouldn't be fighting over the same DOM elements. Also versions of Angular JS from 1.4.x upwards fight with the syntax VisualForce uses to formulate its auto-generated element IDs, which makes it impossible to have any Angular-tagged elements inside an
VisualForce knows, in the view state, what the actual ID value of that lookup is. But it's not storing it in that DOM element. If you use "Inspect Element" in your browser and watch what happens when you select a new record from the lookup, you'll see that the visible lookup field is one
input element, but there is also a hidden
input preceding it with the same ID plus
_lkid. The value of that field is the record ID. But none of the attributes you place on
apex:inputField are going to flow through to that hidden
input. So the AngularJS model of passively scanning for updates ain't gonna work here.
Also beware of the use of
rerender in mixed VF/AngularJS. If VF rerenders a section by AJAX which was previously bound to AngularJS, Angular will not be happy.