我正在将我的Ionic 3项目升级到最新的Ionic 4,我在路由方面遇到了一些麻烦.在Ionic 3中我使用setRoot就像这样:
handler: () => navCtrl.parent.parent.setRoot(HomePage, 'logout', {animate: true})
Run Code Online (Sandbox Code Playgroud)
Ionic 4的最新navCtrl只有goBack,goForward和goRoot,我不明白如何使用parent.我在Angular中找到了ActivatedRoute,但我不认为这是正确的方法.我能怎么做?
有谁知道如何更新Ionic 4的字体?
我尝试将aileron.woff添加到assets/fonts并将其放在variables.scss中无济于事.
src: url('../assets/fonts/aileron.woff') format('woff');
Run Code Online (Sandbox Code Playgroud) 在Ionic 3中,我可以通过向我添加一行来轻松地将黑暗主题应用于我的应用variables.scss:
@import "ionic.theme.dark";
Run Code Online (Sandbox Code Playgroud)
这在Ionic 4中仍然可以这么简单吗?如果是,怎么样?
我正在尝试创建一个模态窗口,传递一个对象数组,让用户从该数组中选择一个对象,然后让我的模态传回他们选择的对象.
我已尝试使用modalName.onDidDismiss(data => ...)的Ionic 2方法,如此处所述,但显然Ionic 4将"onDidDismiss"更改为不接受传递给它的任何值.
所以我对如何将数据从我的模态窗口发送回调用它的页面感到茫然.
我正在使用 Ionic 4 创建一个聊天页面,我试图让它自动滚动到页面底部。我是这样做的,但它不起作用:
import { IonContent } from "@ionic/angular";
export class ChatroomPage implements OnInit {
messageForm: FormGroup;
messages: any[];
messenger: any;
@ViewChild(IonContent) content: IonContent;
constructor(
private navExtras: NavExtrasService,
private api: RestApiService,
private httpNative: HTTP
) { }
ngOnInit() {
this.content.scrollToBottom(300);
}
}
Run Code Online (Sandbox Code Playgroud)
在 html 文件中:
<ion-header>
<ion-toolbar color="primary">
<ion-title>Chatroom</ion-title>
</ion-toolbar>
</ion-header>
<!-- display previous message -->
<ion-content padding id="content">
<ion-list>
<ion-item *ngFor="let message of messages">
{{ message.message }}
</ion-item>
</ion-list>
</ion-content>
<!-- chat message input -->
<ion-footer>
<form [formGroup]="messageForm" …Run Code Online (Sandbox Code Playgroud) 我是离子的新手,这似乎是一个愚蠢的问题,但我需要一些帮助使用一些简单的按钮抛出错误.我正在使用离子4.0.
'ion-button'不是已知元素:1.如果'ion-button'是Angular组件,则验证它是否是此模块的一部分.2.如果'ion-button'是Web组件,则将'CUSTOM_ELEMENTS_SCHEMA'添加到此组件的'@ NgModule.schemas'以禁止显示此消息.
<ion-button color="primary">Primary</ion-button>
Run Code Online (Sandbox Code Playgroud) 在Ionic 3中,您可以使用navController的第二个参数将数据传递到下一页并使用navParams服务检索它.
这是一个非常方便的功能.在Ionic 4中是否有等效的路由api?
你总是可以JSON.stringify对象/数组到routerParams,这在我看来不太方便.
在Ionic 4中,您可以使用ComponentProps和@Input()通过modalController传递数据,使其更适合快速推送/弹出实现.
编辑
我对这个问题的意图是找出是否有来自Angular 6+或Ionic 4+的原生API.我很清楚如何实现自定义服务或解析器来实现此目的.
目标是充分利用离子和角度的api,因为在较大的项目中,每个自定义代码都需要文档并增加复杂性.
我正在开发一个带有 Ionic 4、Capacitor 和一些 Cordova 插件的移动应用程序,并且在尝试在 Android 上运行该应用程序时遇到了问题。Android Studio 拒绝运行项目并打印以下错误:
错误:无法找到具有 Gradle 路径“:capacitor-cordova-android-plugins”的模块(模块“app”需要。)
我创建了一个共享模块,并在其他模块中声明并导出了我需要的组件。
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { DateslideComponent } from './dateslide/dateslide.component';
import { IonicModule } from '@ionic/angular';
import { TimeslideComponent } from './timeslide/timeslide.component';
import { AddtimeComponent } from './addtime/addtime.component'
@NgModule({
declarations: [DateslideComponent, TimeslideComponent, AddtimeComponent],
imports: [
CommonModule,
IonicModule
],
exports: [DateslideComponent, TimeslideComponent, AddtimeComponent]
})
export class TimeModule { }
Run Code Online (Sandbox Code Playgroud)
在另一个模块中,我导入了共享模块。
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import { IonicModule } …Run Code Online (Sandbox Code Playgroud) 几天来,在没有更改项目的任何细节的情况下,我在 Xcode 发布阶段收到了此错误。我还与其他开发人员共享了我的代码,并且在他们的计算机上发布不是问题。
下面是错误日志:
PhaseScriptExecution [CP]\ Embed\ Pods\ Frameworks /Users/[USER_NAME]/Library/Developer/Xcode/DerivedData/App-faqqbffxhfofrrewfezzfuhlylqt/Build/Intermediates.noindex/ArchiveIntermediates/App/IntermediateBuildFilesPath/App.build/Release-iphoneos/App.build/Script-9592DBEFFC6D2A0C8D5DEB22.sh (in target 'App' from project 'App')
cd /Users/[USER_NAME]/Desktop/Workspace/[APP_NAME]/ios/App
/bin/sh -c /Users/[USER_NAME]/Library/Developer/Xcode/DerivedData/App-faqqbffxhfofrrewfezzfuhlylqt/Build/Intermediates.noindex/ArchiveIntermediates/App/IntermediateBuildFilesPath/App.build/Release-iphoneos/App.build/Script-9592DBEFFC6D2A0C8D5DEB22.sh
mkdir -p /Users/[USER_NAME]/Library/Developer/Xcode/DerivedData/App-faqqbffxhfofrrewfezzfuhlylqt/Build/Intermediates.noindex/ArchiveIntermediates/App/BuildProductsPath/Release-iphoneos/App.app/Frameworks
Symlinked...
rsync --delete -av --filter P .*.?????? --links --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "../../../IntermediateBuildFilesPath/UninstalledProducts/iphoneos/Capacitor.framework" "/Users/[USER_NAME]/Library/Developer/Xcode/DerivedData/App-faqqbffxhfofrrewfezzfuhlylqt/Build/Intermediates.noindex/ArchiveIntermediates/App/InstallationBuildProductsLocation/Applications/App.app/Frameworks"
building file list ... rsync: link_stat "/Users/[USER_NAME]/Desktop/Workspace/[APP_NAME]/ios/App/../../../IntermediateBuildFilesPath/UninstalledProducts/iphoneos/Capacitor.framework" failed: No such file or directory (2)
done
sent 29 bytes received 20 bytes 98.00 bytes/sec
total size …Run Code Online (Sandbox Code Playgroud)