Basically, nav: NavController is used in TypeScript and you are only using Javascript.
If you got that from example scattered on internet, probably those example are based on older build of Ionic2.
It was error due to changing the ionic 2 beta specification, earlier beta version using the typescript. Now its move on with babel JS you have to inject controls as following way
export class Login {
static get parameters(){
return [[NavController]];
}
constructor(nav){
this.nav = nav;
}
}