Angular Material - Bottom Sheet



The $mdBottomSheet, an Angular Service, is used to open a bottom sheet over the application and provides a simple promise API.

S.N Method & Description
1

$mdBottomSheet.show(options);

Show a bottom sheet with the specified options.

S.N Parameter & Description
1

* options

An options object, with the following properties −

  • templateUrl - {string=} − The url of an html template file that will be used as the content of the bottom sheet. Restrictions: the template must have an outer md-bottom-sheet element.

  • template - {string=} − Same as templateUrl, except this is an actual template string.

  • scope - {object=} − The scope to link the template / controller to. If none is specified, it will create a new child scope. This scope will be destroyed when the bottom sheet is removed unless preserveScope is set to true.

  • preserveScope - {boolean=} − It dictates whether to preserve the scope when the element is removed. By default, it is false.

  • controller - {string=} − The controller to associate with this bottom sheet.

  • locals - {string=} − An object containing key/value pairs. The keys will be used as names of values to inject into the controller. For example, locals: {three: 3} will inject three into the controller with the value of 3.

  • clickOutsideToClose - {boolean=} − It dictates whether the user can click outside the bottom sheet to close it. By default, it is true.

  • escapeToClose - {boolean=} − It dictates whether the user can press escape to close the bottom sheet. By default, it is true.

  • resolve - {object=} − Similar to locals, except that it takes promises as values and the bottom sheet will not open until the promises resolve.

  • controllerAs - {string=} − An alias to assign the controller to on the scope.

  • parent - {element=} − The element to append the bottom sheet to. The parent may be a function, string, object, or null. Defaults to appending to the body of the root element (or the root element) of the application. e.g. angular.element(document.getElementById('content')) or "#content".

  • disableParentScroll - {boolean=} − Whether to disable scrolling while the bottom sheet is open. Default true.

Sr.No Returns & Description
1

promise

A promise that can be resolved with $mdBottomSheet.hide() or rejected with $mdBottomSheet.cancel().

Example

The following example shows the use of the $mdBottomSheet service and also the use of bottom sheet.

am_bottomsheet.htm

<html lang = "en">
   <head>
      <link rel = "stylesheet"
         href = "https://ajax.googleapis.com/ajax/libs/angular_material/1.0.0/angular-material.min.css">
      <script src = "https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
      <script src = "https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular-animate.min.js"></script>
      <script src = "https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular-aria.min.js"></script>
      <script src = "https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular-messages.min.js"></script>
      <script src = "https://ajax.googleapis.com/ajax/libs/angular_material/1.0.0/angular-material.min.js"></script>
	  
      <script language = "javascript">
         angular
            .module('firstApplication', ['ngMaterial'])
            .controller('bottomSheetController', bottomSheetController);

         function bottomSheetController ($scope, $mdBottomSheet) {
            $scope.openBottomSheet = function() {
               $mdBottomSheet.show ({
                  template: '<md-bottom-sheet>Learn <b>Angular Material</b> @ TutorialsPoint.com!</md-bottom-sheet>'
               });
            };
         }  
      </script>      
   </head>
   
   <body ng-app = "firstApplication">
      <div ng-controller = "bottomSheetController as ctrl" layout = "column">
         <md-content class = "md-padding">
            <form ng-submit = "$event.preventDefault()">
               <md-button class = "md-raised md-primary" ng-click = "openBottomSheet()">
                  Open Bottom Sheet!
               </md-button>
            </form>
         </md-content>
      </div>
   </body>
</html>

Result

Verify the result.

Advertisements