我正在尝试制作一个主屏幕页面,你没有tabmenu,我想要一些按钮直接进入某个Tab.
我正在使用这个功能this.navCtrl.push(TabsPage);
但是这个函数只是转到第一个标签,总是,我有一些额外的参数直接进入我的一些标签?
我正在使用Ionic 3,我有一些要求用户进行身份验证的功能,因此当用户点击按钮时,会显示警报.由于这些功能遍布整个项目,所以我创建了一个全局函数,显示了这个警告,但当我把它放入push()或setRoot()时,项目停止工作并出现一个空白页面.
import { Injectable, ViewChild } from '@angular/core';
//..............
@Injectable()
export class Alerts {
@ViewChild(Nav) nav: Nav;
constructor(private alertCtrl: AlertController) {
}
mustLogin() {
let alert = this.alertCtrl.create({
title: 'must login',
message: 'go to login ?',
buttons: [
{
text: 'Cancel',
role: 'cancel',
handler: () => {
console.log('Cancel clicked');
}
},
{
text: 'Login',
handler: () => {
this.nav.setRoot(LoginPage);
//this.nav.push(LoginPage); blank page also
}
}
]
});
alert.present();
}
Run Code Online (Sandbox Code Playgroud)
}
所以我尝试了Josh Morony关于如何在Ionic中处理Firebase的教程:https://www.joshmorony.com/building-a-crud-ionic-2-application-with-firebase-angularfire/
到目前为止我做了什么:
app.module.ts
AngularFireDatabaseModule了imports.import { AngularFireDatabaseModule } from 'angularfire2/database';
imports: [
BrowserModule,
AngularFireModule.initializeApp(config),
AngularFireDatabaseModule
career.ts
AngularFireDatabase, AngularFireList,注入AngularFireDatabase在constructor.import { AngularFireDatabase, AngularFireList } from 'angularfire2/database';
constructor(public navCtrl: NavController, private database: AngularFireDatabase)
companies: AngularFireList<any>;
this.companies = this.database.list('/company').valueChanges();
this.companies显示错误.视图加载列表,但问题是仍然有错误,我不知道发生了什么.这是我在鼠标悬停时显示的内容this.companies:

我真的希望你们中的任何人能够向我解释发生了什么以及如何解决这个错误.真的很抱歉,非常感谢你.
我想重定向到http请求401错误的登录页面.我如何在IONIC 3中实现它.由于IONIC 3使用Angular 4,这就是为什么我不能在HTTP Interceptor中使用任何服务.
当我尝试构建离子应用程序时出错.实际上,当我在本地构建时,这不是问题,但是当我在离子网站中检查构建状态时,我得到了一个波纹管错误.
使用 angular5,ionic3
typescript:node_modules/angularfire2/firebase.app.module.d.ts,line:10类'FirebaseApp'错误地实现了接口'FirebaseApp'."FirebaseApp"类型中缺少属性"automaticDataCollectionEnabled".
L9: export declare const FirebaseAppConfigToken: InjectionToken;
L10: export declare class FirebaseApp implements FBApp {
L11: name: string;
Run Code Online (Sandbox Code Playgroud)
我不知道.我应该降级firebase版本吗?
UPDATE
我编辑firebase.app.module.d.ts得像答案,但我现在又得到了另一个错误.我这样编辑.gitignore.
node_modules/*
!node_modules/angularfire2/firebase.app.module.d.ts
Run Code Online (Sandbox Code Playgroud)
npm WARN angularfire2@5.0.0-rc.6.0需要@ firebase/app @ ^ 0.1.6的同行,但没有安装.
错误的ERR!无效的tar标头.也许焦油已损坏或需要喷枪?
错误的ERR!可以在以下位置找到此运行的完整日志:npm ERR!
/home/gitlab-runner/.npm/_logs/2018-04-20T07_49_29_110Z-debug.log
我在页面上有一个离子列表,我想只滚动列表项,而不是整个离子内容.
这是我的代码:
<ion-content scroll="false" no-padding>
<ion-list>
<ion-list-header>Select your Status</ion-list-header>
<ion-scroll style="width:100%; height:100vh" scrollY="true">
<ion-item>
<h2>Available</h2>
</ion-item>
<ion-item>
<h2>Busy</h2>
</ion-item>
<ion-item>
<h2>At school</h2>
</ion-item>
<ion-item>
<h2>At the movies</h2>
</ion-item>
<ion-item>
<h2>At work</h2>
</ion-item>
<ion-item>
<h2>Battery about to die</h2>
</ion-item>
<ion-item>
<h2>Can't talk, text only</h2>
</ion-item>
<ion-item>
<h2>In a meeting</h2>
</ion-item>
<ion-item>
<h2>At the gym</h2>
</ion-item>
<ion-item>
<h2>Sleeping</h2>
</ion-item>
<ion-item>
<h2>Urgent calls only</h2>
</ion-item>
</ion-scroll>
</ion-list>
</ion-content>
Run Code Online (Sandbox Code Playgroud)
我想修复列表标题"选择你的状态"并仅滚动其他列表项,但即使我已将scroll ="false"设置为ion-content,它也会隐藏列表标题.请帮忙.提前致谢.
我试图在typescript类中导入json文件
import * as nationalities from './mock/nationalities.json';
Run Code Online (Sandbox Code Playgroud)
它给了我一个错误
找不到模块'./mock/nationalities.json'.
为了解决这个问题,我添加了这个
declare module '*.json' {
const value: any;
export default value;
}
Run Code Online (Sandbox Code Playgroud)
但它没有解决我的问题,也给了我另一个错误异常
增强中的模块名称无效,无法找到模块'*.json'.
我的打字稿版本
2.9.2
当我运行最后一条命令时,出现以下错误。
FAILURE: Build failed with an exception.
Run Code Online (Sandbox Code Playgroud)
其中:脚本“ D:\ Projects \ corporatesolutionmobileapp \ platforms \ android \ cordova-android -support-gradle-release \ sancial-cordova-android-support-gradle-release.gradle”的数据:11
出了什么问题:评估脚本时发生问题。
无法读取脚本'D:\ Projects \ corporatesolutionmobileapp \ platforms \ androi d \ app \ cordova-android-support-gradle-release \ properties.gradle',因为它不存在。
尝试:使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行以获取更多日志输出。
在https://help.gradle.org上获得更多帮助
1秒内失败,建立失败[错误]运行子进程cordova时发生错误。
cordova build android exited with exit code 1.
Re-running this command with the --verbose flag may provide more
information.
Run Code Online (Sandbox Code Playgroud) 我已经添加了AppVersion Ionic本机插件(https://ionicframework.com/docs/native/app-version#usage)。在尝试将其提供给我后,app.module.ts我在编译时出现错误,例如“ AppVersion不存在提供程序” ...
我认为可能是从AppVersion的Ionic 4 /最新版本开始,我需要按照以下说明进行操作:https ://ionicframework.com/docs/native/#Add_Plugins_to_Your_App_Module,它表示要app.module.ts使用这样的导入将插件提供给:
import AppVersion from '@ionic-native/AppVersion/ngx'。
代码编译。完善。但是可悲的是,在运行时我遇到一个错误,它说:
TypeError: Object(__WEBPACK_IMPORTED_MODULE_1__ionic_native_core__["cordova"]) is not a function. (In 'Object(__WEBPACK_IMPORTED_MODULE_1__ionic_native_core__["cordova"])(this, "getPackageName", {}, arguments)', 'Object(__WEBPACK_IMPORTED_MODULE_1__ionic_native_core__["cordova"])' is an instance of Object)
getPackageName — index.js:28...
因此,对于这个耗时的问题,我的解决方案是获取适用于另一个项目的AppVersion的保留版本:
package.json :
...
"@ionic-native/app-version": "^4.18.0",
...
"cordova-plugin-app-version": "0.1.9",
...
Run Code Online (Sandbox Code Playgroud)
这样,我可以正常将插件导入到我的app.module.ts(import AppVersion from '@ionic-native/AppVersion')中,一切正常。
有我的堆栈的版本:
离子性:
ionic(Ionic CLI):4.1.2(/ usr / local / lib / node_modules / ionic)Ionic框架:ionic-angular 3.9.2 @ ionic / app-scripts:3.1.11
科尔多瓦:
cordova(Cordova CLI):8.1.1(cordova-lib@8.1.0)Cordova平台:android …
我有一个Ionic 3项目,它在Ionic DevApp和Xcode上正常运行。但是,当我添加AdMob插件时,它可以正常运行Ionic DevApp,但不能在Xcode上运行。我尝试了Simulator和Real Device,但是我两个都犯了一些错误。
有我的错误代码;
Terminating app due to uncaught exception
'GADInvalidInitializationException', reason:
'The Google Mobile Ads SDK was initialized incorrectly.
Google AdMob publishers should follow instructions here:
https://googlemobileadssdk.page.link/admob-ios-update-plist
to include the AppMeasurement framework,
set the -ObjC linker flag, and set
GADApplicationIdentifier with a valid App ID.
Google Ad Manager publishers should follow
instructions here:
https://googlemobileadssdk.page.link/ad-manager-ios-update-plist
Run Code Online (Sandbox Code Playgroud) ionic3 ×10
angular ×4
typescript ×3
ionic2 ×2
admob ×1
angular5 ×1
angularfire2 ×1
build.gradle ×1
cordova ×1
firebase ×1
gradle ×1
observable ×1
xcode ×1