title: $compile(html)(scope) ignores the scope I've created manually
body: <p>Here is my code :</p>
  
  <p>HTML:</p>
  
  <pre><code>&lt;div id="container" ng-controller="MyCtrl"&gt;    {{model.name}}   &lt;/div&gt;
  </code></pre>
  
  <p>JavaScript:</p>
  
  <pre><code>var app=angular.module('myApp', []);
  
  var $injector =angular.injector(['ng']); 
  $injector.invoke(function($compile, $rootScope) {
      var html = '&lt;div ng-controller="MyCtrl1"&gt;{{model.name}}&lt;/div&gt;'
  
      var scope = $rootScope.$new();
  
      scope.model = {name:'MyCtrl1'};
      //alert(scope.model.name);
      var e3 = $compile(html)(scope);
  
      $('#container').append(e3[0]);
  });
  
  function MyCtrl($scope) {
      $scope.model={};
      $scope.model.name = 'MyCtrl';
  
  };
  function MyCtrl1($scope) {   
      //alert('MyCtrl1');
  };
  </code></pre>
  
  <p><a href="http://jsfiddle.net/alehro/Bfwgg/2/" rel="nofollow">Here is a fiddle showing the behavior</a></p>
  
  <p>As you can see it renders two 'MyCtrl' strings. I.e. angular ignores the scope object I've created manually.</p>
  
  <p>The question is: How do I make <code>$compile</code> to use the scope I've created?</p>
  
  <hr>
  
  <p>UPDATE: Ugly workaround:</p>
  
  <p>After a call to <code>$compile</code> apply model one more time:</p>
  
  <pre><code>angular.element(e3[0]).scope().$apply(function(scope) {
      scope.model = {name:'MyCtrl1'};
  });
  </code></pre>