嘿所以我正在使用标签启动器应用程序的修改版本,我的应用程序刚开始在滚动和点击方面没有响应。只有选项卡按钮才能切换页面。没有其他的。我发布下面的代码,有没有人有任何想法?
app.html
<ion-nav [root]="rootPage" swipeBackEnabled="false"></ion-nav>
app.component.ts
import { Component, ViewChild } from '@angular/core';
import { Platform, Nav } from 'ionic-angular';
import { StatusBar } from '@ionic-native/status-bar';
import { SplashScreen } from '@ionic-native/splash-screen';
import { TabsPage } from '../pages/tabs/tabs';
import { HomePage } from '../pages/home/home';
import { AboutPage } from '../pages/about/about';
import { ContactPage } from '../pages/contact/contact';
import { VendorPage } from '../pages/vendor/vendor';
import { TipsPage } from '../pages/tips/tips';
@Component({
templateUrl: 'app.html'
})
export class MyApp {
@ViewChild(Nav) nav: Nav;
rootPage:any = TabsPage;
pages: Array<{title: string, component: any}>;
constructor(public platform: Platform,
public statusBar: StatusBar,
public splashScreen: SplashScreen) {
this.initializeApp();
// used for an example of ngFor and navigation
this.pages = [
{ title: 'Home', component: HomePage },
{ title: 'About', component: AboutPage },
{ title: 'Contact', component: ContactPage },
{ title: 'Vendors', component: VendorPage },
{ title: 'Tips', component: TipsPage }
];
}
initializeApp() {
this.platform.ready().then(() => {
// Okay, so the platform is ready and our plugins are available. Here you can do any higher level native things you might need.
this.statusBar.styleDefault();
this.splashScreen.hide();
});
}
openPage(page) {
// Reset the content nav to have just this page
// we wouldn't want the back button to show in this scenario
this.nav.setRoot(page.component);
}
}
&#13;
home.ts
import { Component, ViewChild, ElementRef } from '@angular/core';
import { Platform, NavController } from 'ionic-angular';
import { AngularFireAuth } from 'angularfire2/auth';
import * as firebase from 'firebase/app';
import { Geolocation } from '@ionic-native/geolocation';
import { Device } from '@ionic-native/device';
import { Observable } from 'rxjs/Observable';
import { AuthService } from '../../app/core/auth.service';
declare var google: any;
@Component({
selector: 'page-home',
templateUrl: 'home.html'
})
export class HomePage {
currentEvents;
user: Observable<firebase.User>;
@ViewChild('map') mapElement: ElementRef;
map: any;
markers = [];
ref = firebase.database().ref('geolocations/');
constructor(public navCtrl: NavController,
public platform: Platform,
private geolocation: Geolocation,
private device: Device,
private afAuth: AngularFireAuth,
private authService: AuthService) {
platform.ready().then(() => {
//this.initMap();
});
this.ref.on('value', resp => {
this.deleteMarkers();
snapshotToArray(resp).forEach(data => {
if(data.uuid !== this.device.uuid) {
let image = 'assets/imgs/green-bike.png';
let updatelocation = new google.maps.LatLng(data.latitude,data.longitude);
this.addMarker(updatelocation,image);
this.setMapOnAll(this.map);
} else {
let image = 'assets/imgs/blue-bike.png';
let updatelocation = new google.maps.LatLng(data.latitude,data.longitude);
this.addMarker(updatelocation,image);
this.setMapOnAll(this.map);
}
});
});
this.currentEvents = [
{
year: 2018,
month: 4,
date: 22
},
{
year: 2018,
month: 6,
date: 16
}
];
}
onDaySelect(ev) {
}
onMonthSelect(ev) {
}
initMap() {
this.geolocation.getCurrentPosition({ maximumAge: 3000, timeout: 5000, enableHighAccuracy: true }).then((resp) => {
let mylocation = new google.maps.LatLng(resp.coords.latitude,resp.coords.longitude);
this.map = new google.maps.Map(this.mapElement.nativeElement, {
zoom: 15,
center: mylocation
});
}).catch((error) => {
console.log('Error getting location ' + error);
});
let watch = this.geolocation.watchPosition();
watch.subscribe((data) => {
this.deleteMarkers();
//this.updateGeolocation(this.device.uuid, data.coords.latitude,data.coords.longitude);
let updatelocation = new google.maps.LatLng(data.coords.latitude,data.coords.longitude);
let image = 'assets/imgs/blue-bike.png';
this.addMarker(updatelocation,image);
this.setMapOnAll(this.map);
});
}
addMarker(location, image) {
let marker = new google.maps.Marker({
position: location,
map: this.map,
icon: image
});
this.markers.push(marker);
}
setMapOnAll(map) {
for (var i = 0; i < this.markers.length; i++) {
this.markers[i].setMap(map);
}
}
clearMarkers() {
this.setMapOnAll(null);
}
deleteMarkers() {
this.clearMarkers();
this.markers = [];
}
updateGeolocation(uuid, lat, lng) {
if(localStorage.getItem('mykey')) {
firebase.database().ref('geolocations/'+localStorage.getItem('mykey')).set({
uuid: uuid,
latitude: lat,
longitude: lng
});
} else {
let newData = this.ref.push();
newData.set({
uuid: uuid,
latitude: lat,
longitude: lng
});
localStorage.setItem('mykey', newData.key);
}
}
}
export const snapshotToArray = snapshot => {
let returnArr = [];
snapshot.forEach(childSnapshot => {
let item = childSnapshot.val();
item.key = childSnapshot.key;
returnArr.push(item);
});
return returnArr;
};
&#13;
不确定我的app.module.ts中的某些内容是否会导致此问题?