Menu has been improved to make it easier to open, close, toggle and
enable menus.
Instead of injecting `IonicApp` to find the menu component, you now
inject
`MenuController`.
Was:
```
constructor(app: IonicApp) {
this.app = app;
}
openMenu() {
this.app.getComponent('leftMenu').close();
}
```
Now:
To programmatically interact with any menu, you can inject the
`MenuController`
provider into any component or directive. This makes it easy get ahold
of and
control the correct menu instance. By default Ionic will find the app's
menu
without requiring a menu ID. An id attribute on an `<ion-menu>` is only
required
if there are multiple menus on the same side. If there are multiple
menus, but
on different sides, you can use the name of the side to get the correct
menu
If there's only one menu:
```
constructor(menu: MenuController) {
this.menu = menu;
}
openMenu() {
this.menu.close();
}
```
If there is a menu on the left and right side:
```
toggleMenu() {
this.menu.toggle('left');
}
```
If there are multiple menus on the same side:
```
<ion-menu id="myMenuId" side="left">...</ion-menu>
<ion-menu id="otherMenuId" side="left">...</ion-menu>
closeMenu() {
this.menu.close('myMenuId');
}
```
When using npm link to develop against Ionic locally, most setups by
default require the use of 'sudo', which then requires the gulp clean
task to also be run with sudo. Switch to mkdirp-no-bin so there are no
root owned files in dist/node_modules when using sudo npm link.
This is actually the same as the ID demo but I figured I would keep
them separate in case we decide to do something different in them.
references driftyco/ionic-site#397
Yes, oddly enough this makes a performance difference. The translateZ
was used as a trick to force ion-card’s rounded corners to take effect
on inner elements. However, on a page that has many ion-cards, it takes
relatively a lot of power on a low-end device to move them all during a
transition. It’s best to not put them on their own layer and let the
browser just move one thing.