title: Angular JS Missing Required Controller error: Controller 'ngModel', required by directive can't be found
body: <p>I have this directive:</p>
  
  <pre><code>directive('myDirective',
      function() {
          return {
              restrict: 'EA',
              scope: {
                  params: '=ngModel'
              },
              //template: '',
              templateUrl: '/myTemplate.html',
              controller: 'myController',
              link: function(scope, iElement, iAttrs, ngModel) {
                 // code.. 
              }
          };
      }
  );
  </code></pre>
  
  <p>However when I use this directive, I get the following error in the console:
  $compile:ctreq, with a hyperlink to the following message:
  Missing Required Controller
  error in component $compile
  Controller 'ngModel', required by directive 'myDirective', can't be found!</p>
  
  <p>The error goes away if I use "template" instead of "templateUrl", and I do not wish to use the "template". 
  This seems to be a known issue: <a href="https://github.com/angular/angular.js/issues/4603" rel="nofollow">https://github.com/angular/angular.js/issues/4603</a></p>
  
  <p>Can anyone please suggest a <strong>workaround</strong>?
  Edit: I am using ngModel because I want 2-way binding</p>