我有一个使用ionic 2创建的登录表单,我想在键盘显示时禁用滚动,这是示例:
这是htmll登录的代码:
<ion-content no-bounce padding style="background:url('assets/imgs/bg.jpg') no-repeat center;background-size:cover;" id="page1">
<div class="header padding text-center">
<img class="logoApp" src="assets/img/logo.png" alt="DoggyDOG" />
</div>
<ion-card>
<ion-card-header>
Login to join DoggyDOG
</ion-card-header>
<ion-card-content>
<form (ngSubmit)="login()" novalidate>
<ion-list no-line>
<ion-item>
<ion-input type="text" placeholder="Username"></ion-input>
</ion-item>
<div class="spacer" style="height:10px;" id="login-spacer2"></div>
<ion-item>
<ion-input type="password" placeholder="Password"></ion-input>
</ion-item>
<div class="spacer" style="height:12px;" id="login-spacer2"></div>
<a>Forgot your login detail? <b>Get help signing in</b></a>
<div class="spacer" style="height:10px;" id="login-spacer2"></div>
<button id="login-button1" ion-button round large color="energized" block icon-left style="font-weight:500;color:#ffffff;">
<ion-icon ios="ios-log-in" md="md-log-in"></ion-icon>
Login
</button>
</form>
<div class="spacer" …Run Code Online (Sandbox Code Playgroud) <ion-select formControlName="FollowUpType"
(ngModelChange)="reset()">
<ion-option value="0">
A
</ion-option>
<ion-option value="1">
B
</ion-option>
</ion-select>
Run Code Online (Sandbox Code Playgroud)
当我把它的值设为数字而不是字符串(0数字,或1数字)而不是"0"而不是"1"时,我需要这个选择.我正在使用反应形式:
this.Form = this.formBuilder.group({
FollowUpType: [''],
});
Run Code Online (Sandbox Code Playgroud) 我已经创建了一个自定义插件,我正在尝试通过cmd添加它以获得以下错误
> cordova plugin add C:\r\work\custom_plugins\cordova-plugin-webrtc-video-call -
-save
x Running command - failed!
[ERROR] Cordova encountered an error.
You may get more insight by running the Cordova command above directly.
[ERROR] An error occurred while running cordova plugin add
C:\r\work\custom_plugins\cordova-plugin-webrtc-video-call --s... (exit
code 1):
Error: Failed to get absolute path to installed module
C:\r\work>
Run Code Online (Sandbox Code Playgroud)
config.xml中
<?xml version='1.0' encoding='utf-8'?>
<plugin id="cordova-plugin-webrtc-video-call" version="1.0.1" xmlns="http://apache.org/cordova/ns/plugins/1.0" xmlns:android="http://schemas.android.com/apk/res/android">
<name>WebrtcVideoCall</name>
<js-module name="WebrtcVideoCall" src="www/WebrtcVideoCall.js">
<clobbers target="cordova.plugins.WebrtcVideoCall" />
</js-module>
<platform name="android">
<config-file parent="/*" target="res/xml/config.xml">
<feature name="WebrtcVideoCall">
<param name="android-package" …Run Code Online (Sandbox Code Playgroud) 我有一个来自API的响应,该响应返回一个枚举值。从API返回的值在请求中表示为字符串。该值是enum打字稿界面的属性。
问题:
当收到响应时,TS接口将该值存储为字符串(可能就是问题所在),因此我不能将其直接用作enum。
obj模型:
export interface Condo {
id:number
title:string
latitude:number
longitude:number
city:string
country:string
district:string
address:string
locationType: LocationType
}
export enum LocationType {
CONDO,
MALL,
STATION
}
Run Code Online (Sandbox Code Playgroud)
请求:
getCondoAllByCountry(country_code){
return this.http.get(this.config.apiEndpoint +this.subApiUrl+'/all')
.map(res => <Condo[]>res.json())
.catch((err:Response) => {
return Observable.throw(err.json());
});
}
Run Code Online (Sandbox Code Playgroud)
用法样本:
this.condoService.getCondoAllByCountry(this.userData.country_code).subscribe(data=>{
someFunc(data)
})
............
someFunc(condo_list: Condo[]){
//here is need to know the `locationType` for each object
console.log(typeof condo_list[i].locationType);
console.log(typeof LocationType.CONDO)
switch (condo_list[i].locationType){
case LocationType.CONDO:
console.log('Case - condo')
break;
case LocationType.MALL:
console.log('Case - mall') …Run Code Online (Sandbox Code Playgroud) 我在Ionic2中使用以下插件进行推送通知
http://ionicframework.com/docs/native/push/
预期行为: 当应用程序关闭时,收到通知,当用户点击通知时,应用程序打开后应打开("通知")事件.
实际行为: 我成功收到通知.但是当应用程序处于后台或关闭时,当我收到通知并点击通知时,on("notification")事件未触发.
Cordova版本 7.0.1 Android版本 6.2.3
我的代码:
this.platform.ready().then(() => {
this.pushsetup();
});
private pushOptions: PushOptions;
private pushObject: PushObject;
pushsetup() {
// to check if we have permission
this.push.hasPermission()
.then((res: any) => {
if (res.isEnabled) {
console.log('We have permission to send push notifications');
// configuration of push notification
this.pushOptions = {
android: {
senderID: 'XXXXXXXXXXX',
icon: 'icon_notification'
},
ios: {
alert: 'true',
badge: true,
sound: 'false',
senderID: 'XXXXXXXXXXX'
},
windows: {}
};
this.pushObject = this.push.init(this.pushOptions);
// attach …Run Code Online (Sandbox Code Playgroud) push-notification cordova cordova-plugins phonegap-pushplugin ionic2
在尝试在我的项目中使用google变量后,有人可以帮助我解决此错误,并在Ionic 3应用程序中获取该错误,
npm install --save @ types / google-maps
这将以下内容添加到我的package.json中:
“ @ types / google-maps”:“ ^ 3.2.0”,
我也确实声明了声明var google;
并且做了 typings install dt~google.maps --global
然后我看到了这个灵魂,并尝试了一下,但是还是不起作用(注意,我生成了一个ios键和android键),尝试了这个 找不到名称空间“ google”
ionic cordova插件添加 https://github.com/mapsplugin/cordova-plugin-googlemaps#multiple_maps --variable API_KEY_FOR_ANDROID =“ YOUR_ANDROID_API_KEY_IS_HERE” -variable API_KEY_FOR_IOS =“ YOUR_IOS_API_KEY_IS_HERE” $ npm install --save地图
要点就是我的map.ts多数民众赞成在拍摄此错误:
https://gist.github.com/abdulfatah-ah1407281/25bc95352d0b1ba8e02b7d1e55cc7779
当我运行离子服务时出错:
Cannot find namespace 'google'.
C:/Users/pkhon/Desktop/k/ItBroken/src/components/map/map.ts
private map: google.maps.Map;
public isMapIdle:boolean;
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用cordova-plugin-googleplus插件。
我读过其他文章,说要将该插件添加为提供程序,并且尝试这样做无济于事。
当我尝试访问登录页面时,出现带有堆栈跟踪的错误:
未发现运行时错误(承诺):错误:没有GooglePlus提供商!错误:没有GooglePlus提供商!在ReflectiveInjector_处的noProviderError(http:// localhost:8100 / build / vendor.js:1628:12)处,在injectionError(http:// localhost:8100 / build / vendor.js:1590:86)处。在ReflectiveInjector处抛出throwOrNull(http:// localhost:8100 / build / vendor.js:3129:19)。ReflectiveInjector上的getByKeyDefault(http:// localhost:8100 / build / vendor.js:3168:25)。ReflectiveInjector .get(http:// localhost:8100 / build / vendor.js:2969:21处的getByKey(http:// localhost:8100 / build / vendor.js:3100:25)),位于AppModuleInjector.getInternal(ng:///AppModule/module.ngfactory.js:615:44)的AppModuleInjector.get(ng:///AppModule/module.ngfactory.js:332:145)。在LoginPageModuleInjector.NgModuleInjector.get 获取(http:// localhost:8100 / build / vendor.js:3936:44)(http:// localhost:8100 / build / vendor.js:3937:52)
堆栈跟踪
Error: Uncaught (in promise): Error: No provider …Run Code Online (Sandbox Code Playgroud) 错误错误:没有Facebook提供商!
 at injectionError(core.es5.js:1231)
 at noProviderError(core.es5.js:1269)
 at ReflectiveInjector_.throwOrNull(core.es5.js:2770)
 at ReflectiveInjector.getByKeyDefault(core.es5.js:2809)
 at ReflectiveInjector.getByKey(core.es5.js:2741)
 at ReflectiveInjector获得(core.es5.js:2610)
 at AppModuleInjector.NgModuleInjector.get(core.es5.js:3578)
 at resolveDep(core.es5.js:11039)
 at createClass(core.es5.js:10903)
at createDirectiveInstance(core.es5.js:10723)
View_MyApp_Host_0 @ MyApp_Host.html:1
我正在使用新的Ionic Pro.我已将以前工作的离子应用程序迁移到新的Pro服务中.我现在能够成功地将我的代码推送到我的离子pro git repo,我可以在仪表板上看到构建日志.构建成功完成.完成后,我导航到所述构建的"包"选项卡.我配置我的包以编译platform = Android version = Release Security Profile = Android Release安全配置文件.
此时的输出日志将在安装过程中移动,并获得以下控制台输出.
BUILD SUCCESSFUL
Run Code Online (Sandbox Code Playgroud)
然后,构建过程似乎启动Gradle Daemon并最终以此输出结束
The Task.leftShift(Closure) method has been deprecated and is scheduled to
be removed in Gradle 5.0. Please use Task.doLast(Action) instead.
at
Run Code Online (Sandbox Code Playgroud)
无法加载文件/home/gitlab-runner/.android/repositories.cfg.在/ opt/android-sdk/licenses中检查包Android SDK平台26的许可证接受包Android SDK平台26的许可证.准备"安装Android SDK Platform 26".警告:无法读取或创建安装属性文件.
FAILURE: Build failed with an exception.
* What went wrong:
A problem occurred configuring root project 'android'.
> Failed to install the following SDK components:
[Android SDK Platform 26]
The SDK directory (/opt/android-sdk) …Run Code Online (Sandbox Code Playgroud) ionic2 ×10
angular ×4
typescript ×4
ionic3 ×3
cordova ×2
android ×1
css ×1
html ×1
ionic-native ×1
ios ×1
iphone ×1
javascript ×1
node.js ×1