title: A little clarity on getting key values using AngularFire v2?
body: <p>Sorry for the length of this but it's driving me a little bit crazy:</p>
  
  <p>Let's say I want to get an item's "title" and ".priority" key values when it loads.</p>
  
  <p>First let's see how every thing's laid out:</p>
  
  <pre><code> $scope.items = $firebase(new Firebase("https://****.firebaseio.com"));
  
   $scope.items.$on('loaded', function() { 
  
  console.log($scope.items);
  
  });
  </code></pre>
  
  <p>With that we get:     </p>
  
  <pre><code>&gt; Object {$bind: function, $add: function, $save: function, $set: function, $remove: function…}
      &gt; $add: function (item, cb) {
      &gt; $bind: function (scope, name) {
      &gt; $child: function (key) {
      &gt; $getIndex: function () {
      &gt; $on: function (type, callback) {
      &gt; $remove: function (key) {
      &gt; $save: function (key) {
      &gt; $set: function (newValue) {
  
      &gt; this is my item: Object
            $$hashKey: "012"
            $id: "this is my item"
            $priority: 2884707
            title: "this is the title of my item"
            __proto__: Object
  
  
      &gt; __proto__: Object
  </code></pre>
  
  <p>Looks good,  let's try to grab that $priority:</p>
  
  <pre><code> console.log($scope.items.$child('$priority'));
  </code></pre>
  
  <p>Oops:     </p>
  
  <pre><code>Uncaught Error: Firebase.child failed: First argument was an invalid path: "$priority". Paths must be non-empty strings and can't contain ".", "#", "$", "[", or "]"
  </code></pre>
  
  <p>Fine, we'll skip that for now and just try for the title:</p>
  
  <pre><code>console.log($scope.items.$child('title'));
  
  &gt; Object {$bind: function, $add: function, $save: function, $set: function, $remove: function…}
      &gt; $add: function (item, cb) {
      &gt; $bind: function (scope, name) {
      &gt; $child: function (key) {
      &gt; $getIndex: function () {
      &gt; $on: function (type, callback) {
      &gt; $remove: function (key) {
      &gt; $save: function (key) {
      &gt; $set: function (newValue) {
      &gt; __proto__: Object
  </code></pre>
  
  <p>No title.</p>
  
  <p>Okay, let's try it a different way :</p>
  
  <pre><code>    var firstItem = $scope.items.$getIndex()[0];  //returns $ids in order of priority
       console.log($scope.items.$child(firstItem));
  
       &gt; Object {$bind: function, $add: function, $save: function, $set: function, $remove: function…}
           &gt; $add: function (item, cb) {
           &gt; $bind: function (scope, name) {
           &gt; $child: function (key) {
           &gt; $getIndex: function () {
           &gt; $on: function (type, callback) {
           &gt; $remove: function (key) {
           &gt; $save: function (key) {
           &gt; $set: function (newValue) {
                title: "this is the title of my item"
           &gt; __proto__: Object
  </code></pre>
  
  <p>But now there's no priority!  </p>
  
  <p>Kitchen sink swearing at the computer time:</p>
  
  <pre><code> console.log($scope.items.title);
  
       &gt; undefined
  
   console.log($scope.items[0].title);
  
       &gt; Uncaught TypeError: Cannot read property 'title' of undefined 
  
    console.log(Object.keys($scope.items));     
  
       &gt; ["$bind", "$add", "$save", "$set", "$remove", "$child", "$on", "$getIndex"]
  </code></pre>
  
  <p>What am I missing?  I can manage to get the 'title' by doing a couple U-turns, (figuring out what the item's $id is using '$getIndex()', grabbing the nth item and then making another call using '$child()' ),  but even that doesn't work for $priority.   Is there an easier way to get key values from within AngularFire v2?  Or any way at all to get the $priority?</p>