1.哪个更容易开发混合应用程序,Ionic - Angular 或 Ionic - React?
2.哪个性能更好?
3.所有插件都支持Ionic-React和Ionic-Angular吗?
如果有人分享有关此主题的宝贵意见和知识,那就太好了
我正在使用 ionic 4 来构建一个应用程序。而我的应用程序在浏览器上运行良好,但是当我构建 android 平台时,它给了我这一行的错误
for (let [index, p] of this.cart.entries())
Run Code Online (Sandbox Code Playgroud)
我的打字稿版本是 3.7.2
错误是
类型 'IterableIterator<[number, any]>' 不是数组类型或字符串类型。使用编译器选项“--downlevelIteration”来允许迭代器迭代。
我试图避免在 ionic 4 中双击或双击按钮,因为它应该只在单击时触发操作。如果我双击,我希望一个动作被触发一次而不是 2 次。我尝试了几个选项,例如禁用按钮、settimeout,但没有任何效果。在寻找更好的解决方案时,我发现许多论坛都建议在 Angular 中使用 debounceTime。
我遵循了如何防止在 Angular 中双击?并尝试创建一个指令,但单击“debounceClick”会出现以下错误。
ERROR Error: Uncaught (in promise): Error: Template parse errors:
Can't bind to 'debounceTime' since it isn't a known property of 'button'. ("
</ion-content>
<button appIonCLick (debounceClick)="log()" [ERROR ->][debounceTime]="700">Throttled Click</button>
Run Code Online (Sandbox Code Playgroud)
以下是我创建的指令
import {
Directive, EventEmitter, HostListener, Input, OnDestroy, OnInit,
Output
} from '@angular/core';
import { Subject } from 'rxjs';
import { Subscription } from 'rxjs';
import { debounceTime } from 'rxjs/operators';
@Directive({
selector: '[appIonCLick]'
})
export class …Run Code Online (Sandbox Code Playgroud) 也许我会从我想要实现的目标开始:我有一个带有必填字段的表单。默认情况下,它不应显示任何错误。如果用户触摸该字段,则应显示错误。所以我的领域或多或少是这样的:
<ion-input .... (ionBlur)="updateDispayedErrors()"></ion-input>
Run Code Online (Sandbox Code Playgroud)
但我不知道如何测试它,因为:
fixture.debugElement.nativeElement.blur()不会触发ionBlur处理程序(与 相同....dispatchEvent(new Event('blur')))(blur)不起作用(即,如果我将代码更改为(blur)="updateDisplayErrors()"那么它不起作用)blur()本机<input .../>元素上的调用方法会起作用,但是......问题是当我运行测试时fixture.debugElement.nativeElement.childNodes是空的......所以本机<input .../>没有被创建如果你想看一个完整的例子来说明它,请告诉我。
我在我的Ionic 4应用程序中有一个非常烦人的问题,当我更改页面时,屏幕阅读器焦点位于页面底部,这意味着我的用户必须反向浏览内容才能到达我的main内容部分。
我做了一些研究,这似乎是Angular 可访问性文档的问题Angular
在这里,他们建议您应该将重点放在main内容上。
但是,当我尝试使用以下方法时:
ionViewDidEnter() {
const mainHeader = document.querySelector('#mainContent');
if (mainHeader) {
(mainHeader as HTMLElement)?.focus();
}
}
Run Code Online (Sandbox Code Playgroud)
它真的没有做任何事情。
有没有人遇到过类似的问题并知道我该如何解决?
编辑
我也尝试过viewChild:
@ViewChild('mainPage') mainContent: ElementRef;
ngOnInit() {
this.router.events.pipe(filter(e => e instanceof NavigationEnd)).subscribe(() => {
this.mainContent.nativeElement.focus();
});
}
Run Code Online (Sandbox Code Playgroud)
并设置mainPage元素的tabIndex=0:
<div #mainPage tabindex="0"><ion-router-outlet main></ion-router-outlet></div>
Run Code Online (Sandbox Code Playgroud)
然而还是没有重点。
调用命令时出现以下错误ng generate:
发生未处理的异常:在集合“@ionic/angular-toolkit”中找不到原理图“appShell”。
带有ionic 4的iOS设备上的Livereload(离子Cordova运行ios -l)似乎不起作用。它停留在初始屏幕的初始加载中。我已经尝试了离子项目开始空白后马上进行新项目,但仍然无法正常工作。
浏览器上的livereload(离子服务)和模拟器(离子cordova模拟ios -l)工作正常。
离子信息:
Ionic:
ionic (Ionic CLI) : 4.0.1 (/usr/local/lib/node_modules/ionic)
Ionic Framework : ionic-angular 3.9.2
@ionic/app-scripts : 3.1.11
Cordova:
cordova (Cordova CLI) : 7.1.0
Cordova Platforms : ios 4.5.5
System:
ios-deploy : 2.0.0
NodeJS : v8.11.3 (/usr/local/bin/node)
npm : 5.6.0
OS : macOS High Sierra
Xcode : Xcode 9.4.1 Build version 9F2000
Device info:
iphone X, iOS 11.4 (15F79)
Run Code Online (Sandbox Code Playgroud)
有没有人知道如何解决这个问题?
谢谢
当我尝试在Ionic4项目上首次运行时,我遇到了这个错误。
ng run app:serve --host=0.0.0.0 --port=8100
[错误] ng 意外关闭(退出代码 1)。
Run Code Online (Sandbox Code Playgroud)The Ionic CLI will exit. Please check any output above for error details.
我正在使用 Linux Elementary OS(一个来自 Ubuntu 的不错的发行版)。
我尝试运行一个ionic3项目并且运行成功。
当我运行 ionicserve --verbose 时,我收到此消息
我已经尝试了很多事情,“npm 缓存清理”,重新安装节点,重新安装离子,启动/停止nodejs进程。但没有任何成功。因为我没有找到和我有完全相同问题的人,所以我问你们。
为了在 ionic 3 中为 android 和 ios 设置特定样式为“ListingPage”,我在“Listing”页面/组件的 .scss 文件中使用了以下结构:
.ios { // for ios
page-listing { // page selector
// css enclosed in class or id selectors
}
}
.md { // for android
page-listing { // page selector
// css enclosed in class or id selectors
}
}
Run Code Online (Sandbox Code Playgroud)
如何在 ionic4 中实现相同的平台特定样式。
以下是我尝试为滚动条设置主题:
/* width */
::-webkit-scrollbar {
width: 10px !important;
}
/* Track */
::-webkit-scrollbar-track {
background: #333 !important;
}
/* Handle */
::-webkit-scrollbar-thumb {
background: #111 !important;
}
/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
background: #111 !important;
}
Run Code Online (Sandbox Code Playgroud)
但是,这并没有产生任何影响,我仍然得到相同的默认窗口/chrome 滚动条。
有人可以请指教。
ionic4 ×10
angular ×5
css ×2
javascript ×2
angular7 ×1
electron ×1
ionic-native ×1
ionic2 ×1
ios ×1
livereload ×1
rxjs ×1
sass ×1
typescript ×1