function prelink($scope, $element, $attrs, ctrl) {

        ctrl.enableMenuWithBackViews($scope.$eval($attrs.enableMenuWithBackViews));

        $scope.$on('$ionicExposeAside', function(evt, isAsideExposed) {
          if (!$scope.$exposeAside) $scope.$exposeAside = {};
          $scope.$exposeAside.active = isAsideExposed;
          $ionicBody.enableClass(isAsideExposed, 'aside-open');
        });

        $scope.$on('$ionicView.beforeEnter', function(ev, d) {
          if (d.historyId) {
            $scope.$activeHistoryId = d.historyId;
          }
        });

        $scope.$on('$destroy', function() {
          $ionicBody.removeClass('menu-open', 'aside-open');
        });

      }
@ngdoc directive
@name ionSideMenus
@module ionic
@delegate ionic.service:$ionicSideMenuDelegate
@restrict E

@description
A container element for side menu(s) and the main content. Allows the left and/or right side menu
to be toggled by dragging the main content area side to side.

To automatically close an opened menu, you can add the {@link ionic.directive:menuClose} attribute
directive. The `menu-close` attribute is usually added to links and buttons within
`ion-side-menu-content`, so that when the element is clicked, the opened side menu will
automatically close.

"Burger Icon" toggles can be added to the header with the {@link ionic.directive:menuToggle}
attribute directive. Clicking the toggle will open and close the side menu like the `menu-close`
directive. The side menu will automatically hide on child pages, but can be overridden with the
enable-menu-with-back-views attribute mentioned below.

By default, side menus are hidden underneath their side menu content and can be opened by swiping
the content left or right or by toggling a button to show the side menu. Additionally, by adding the
{@link ionic.directive:exposeAsideWhen} attribute directive to an
{@link ionic.directive:ionSideMenu} element directive, a side menu can be given instructions about
"when" the menu should be exposed (always viewable).

![Side Menu](http://ionicframework.com.s3.amazonaws.com/docs/controllers/sidemenu.gif)

For more information on side menus, check out:

- {@link ionic.directive:ionSideMenuContent}
- {@link ionic.directive:ionSideMenu}
- {@link ionic.directive:menuToggle}
- {@link ionic.directive:menuClose}
- {@link ionic.directive:exposeAsideWhen}

@usage
To use side menus, add an `<ion-side-menus>` parent element. This will encompass all pages that have a
side menu, and have at least 2 child elements: 1 `<ion-side-menu-content>` for the center content,
and one or more `<ion-side-menu>` directives for each side menu(left/right) that you wish to place.

```html
<ion-side-menus>
  <!-- Left menu -->
  <ion-side-menu side="left">
  </ion-side-menu>

  <ion-side-menu-content>
  <!-- Main content, usually <ion-nav-view> -->
  </ion-side-menu-content>

  <!-- Right menu -->
  <ion-side-menu side="right">
  </ion-side-menu>

</ion-side-menus>
```
```js
function ContentController($scope, $ionicSideMenuDelegate) {
  $scope.toggleLeft = function() {
    $ionicSideMenuDelegate.toggleLeft();
  };
}
```

@param {bool=} enable-menu-with-back-views Determines whether the side menu is enabled when the
back button is showing. When set to `false`, any {@link ionic.directive:menuToggle} will be hidden,
and the user cannot swipe to open the menu. When going back to the root page of the side menu (the
page without a back button visible), then any menuToggle buttons will show again, and menus will be
enabled again.
@param {string=} delegate-handle The handle used to identify this side menu
with {@link ionic.service:$ionicSideMenuDelegate}.