code: function MdNavBarController($element, $scope, $timeout, $mdConstant) {
    // Injected variables
    /** @private @const {!angular.Timeout} */
    this._$timeout = $timeout;
  
    /** @private @const {!angular.Scope} */
    this._$scope = $scope;
  
    /** @private @const {!Object} */
    this._$mdConstant = $mdConstant;
  
    // Data-bound variables.
    /** @type {string} */
    this.mdSelectedNavItem;
  
    /** @type {string} */
    this.navBarAriaLabel;
  
    // State variables.
  
    /** @type {?angular.JQLite} */
    this._navBarEl = $element[0];
  
    /** @type {?angular.JQLite} */
    this._inkbar;
  
    var self = this;
    // need to wait for transcluded content to be available
    var deregisterTabWatch = this._$scope.$watch(function() {
      return self._navBarEl.querySelectorAll('._md-nav-button').length;
    },
    function(newLength) {
      if (newLength > 0) {
        self._initTabs();
        deregisterTabWatch();
      }
    });
  }
docs: Controller for the nav-bar component.
  Accessibility functionality is implemented as a tablist
  (https://www.w3.org/TR/wai-aria-1.0/complete#tablist) and
  tabs (https://www.w3.org/TR/wai-aria-1.0/complete#tab).
  
  @param {!angular.JQLite} $element
  @param {!angular.Scope} $scope
  @param {!angular.Timeout} $timeout
  @param {!Object} $mdConstant
  @constructor
  @final
  @ngInject