title: correct way to initialise scope values when the view is loaded with angularjs, ngInit?
body: <p>I've been learning angularJs for the past few weeks and been looking at a number of large scale apps to see how things work in the real world. In most of them I have noticed when a view is loaded :</p>
  
  <pre><code>ng-init="init()"
  </code></pre>
  
  <p>i.e. the function init() is called in the relevant controller. Is used to set the initial values. </p>
  
  <p>BUT(big but) when reading through the angular docs on ngInit i came to a rather stern looking description:</p>
  
  <blockquote>
    <p>"The only appropriate use of ngInit for aliasing special properties of ngRepeat, as seen in the demo below. Besides this case, you should use controllers rather than ngInit to initialize values on a scope."</p>
  </blockquote>
  
  <p>so my question is, 
  Is it bad practise to use ngInit to initialise the values in a scope when the view is loaded? 
  if so , why is this ? and what is the correct way? </p>