标签: ionic2

在离子框架中,如何默认将第一个离子段按钮设置为活动状态?

ionic2如何设置第一ion-segment-buttonion-segment是在active state?我曾尝试与提供这样做active classion-segment-button,如:

 <div padding>
    <ion-segment [(ngModel)]="home_tabs">
        <ion-segment-button class="segment-button segment-activated"  value="A">A
        </ion-segment-button>
        <ion-segment-button value="B">B
        </ion-segment-button>
    </ion-segment>
</div>
Run Code Online (Sandbox Code Playgroud)

但这没效果.我想让第一个ion-segment-button成为非活动状态并对应,

<ion-list *ngSwitchWhen="'A'" ></ion-list>
Run Code Online (Sandbox Code Playgroud)

成为活跃的国家.这该怎么做?

android ios ionic-framework ionic2

10
推荐指数
2
解决办法
3万
查看次数

使用离子2而不是打字稿应用程序创建一个javascript启动应用程序

我正在尝试创建一个JS启动项目,但ionic start xxx --v2创建了一个打字稿项目.

我需要创建一个JS启动项目,这样我就可以将现有的JS ionic 2应用程序复制到干净的安装中.

我尝试将我的所有JS文件重命名为typescript,但是获得了大量类型的错误消息:

类型yyy上不存在属性xxx

javascript typescript ionic-framework ionic2 ionic3

10
推荐指数
1
解决办法
8262
查看次数

NgZone/Angular2/Ionic2 TypeError:无法读取未定义的属性'run'

我收到此错误TypeError:无法在Subscriber.js中读取未定义的属性'run':229 并且不知道为什么 - 在离子beta 10中这个代码工作正常...在11中没有.

import {Component, NgZone} from '@angular/core';
import {NavController} from 'ionic-angular';

declare var io;

@Component({
  templateUrl: 'build/pages/home/home.html'
})    
export class HomePage {
    static get parameters() {
        return [NgZone];
    }

    zone: any;
    chats: any;
    chatinp: any;
    socket: any;

constructor(public navCtrl: NavController, ngzone) {
    this.zone = ngzone;
    this.chats = [];
    this.chatinp ='';
    this.socket = io('http://localhost:3000');
    this.socket.on('message', (msg) => {
        this.zone.run(() => {
            this.chats.push(msg);
        });
    });
}

send(msg) {
    if(msg != ''){
        this.socket.emit('message', msg);
    }
    this.chatinp = '';
   } …
Run Code Online (Sandbox Code Playgroud)

typescript ionic-framework ionic2 ionic3 angular

10
推荐指数
1
解决办法
5265
查看次数

如何在测试中模拟NavParams?

这可能只是一个Ionic 2问题,因为我没有在Angular 2文档中看到NavParams,但是有些概念可能会翻译,所以我标记了两者.

鉴于我navparams.get('somekey')为了侦听传入的参数而调用,在测试中模拟NavParams是很棘手的.

例如,以下是我目前的工作方式:

export class NavParamsMock {
  public get(key): any {
    return String(key) + 'Output';
  }
}
Run Code Online (Sandbox Code Playgroud)

这适用于真正的基本测试,但如果我有一个组件,我必须测试它gets是一种特定类型Object,例如a User.

然后,我可以做类似的事情

export class NavParamsMock {
  public get(key): any {
    if (key === 'user') {
       return new User({'name':'Bob'})
    }
    return String(key) + 'Output';
  }
}
Run Code Online (Sandbox Code Playgroud)

但是,如果您想get(user)在另一个测试中使用,或者甚至是另一个组件的规范,则这不起作用.假设您在两个不同的组件中使用NavParams,并且当您这样做时它们都期望不同的结果get(user),模拟变得越来越棘手.

有没有人找到这种情况的解决方案?

unit-testing ionic2 angular2-testing angular

10
推荐指数
2
解决办法
3400
查看次数

离子2:如何处理硬件后退按钮,检查应用程序中退出的确认

我正面临着如何处理默认移动设备后退按钮的问题,该按钮在退出应用程序时检查确认,如果我按下后退按钮,则应调用一些显示弹出窗口的处理程序,以确认退出.或者有任何方法调用registerBackButtonAction()?或者是如何在IONIC 2中使用它,?请帮帮我.提前致谢.

android ionic2 angular

10
推荐指数
3
解决办法
3万
查看次数

离子2 - 删除边框页脚

我有一个像这样的蓝色页脚

<ion-footer align="center">
  <ion-toolbar>
    <ion-title>
...
Run Code Online (Sandbox Code Playgroud)

但它在顶部显示阴影样式边框.我该如何删除它.我试图检查它,但没有找到任何东西.

ionic2

10
推荐指数
2
解决办法
7307
查看次数

如何在html标记中轻松地将typescript变量与字符串连接起来

这是我用离子2的html代码

<ion-item *ngFor="let job of allFreeJobs;let elementid=index">
     <p>
        <span id="m{{elementid}}" (click)="showMore(elementid)" color="primaryAdmin">...<ion-icon name="bicycle"></ion-icon></span>
      </p>
</ion-item>
Run Code Online (Sandbox Code Playgroud)

从上面的代码来看,这是我的专注领域

... id="m{{elementid}}" ...
Run Code Online (Sandbox Code Playgroud)

如何轻松地将m与变量elementid连接起来.这不适合我.

typescript ionic2 angular

10
推荐指数
2
解决办法
1万
查看次数

如何从离子2组分中去除底线

![在此处输入图像说明

我正在使用离子2.我需要从输入字段中删除底部的白线.这是我的addVehicle.html页面,

<form [formGroup]="addCustomerForm" (ngSubmit)="onSubmit(addCustomerForm)">
<ion-item class="ion-card">
  <ion-input type="text" placeholder="Owner Name" class="ion_input" formControlName="vehicle_cust_name" name="vehicle_cust_name"></ion-input>
  <ion-icon name="person-add" class="ion_icon" item-left small></ion-icon>
</ion-item>
<ion-item class="ion-card">
  <ion-input type="text" class="ion_input" placeholder="Vehical No" formControlName="vehicle_no" name="vehicle_no"></ion-input>
  <ion-icon name="car" class="ion_icon" item-left small></ion-icon>
</ion-item>
<ion-item class="ion-card">
  <ion-input type="text" class="ion_input" placeholder="Tel No 1" formControlName="vehicle_cust_tel1" name="vehicle_cust_tel1"></ion-input>
  <ion-icon name="call" class="ion_icon" item-left small></ion-icon>
</ion-item>
<ion-item class="ion-card">
  <ion-input type="text" class="ion_input" placeholder="Tel No 2" formControlName="vehicle_cust_tel2" name="vehicle_cust_tel2"></ion-input>
  <ion-icon name="call" class="ion_icon" item-left small></ion-icon>
</ion-item>
<ion-item class="ion-card">
  <ion-input type="text" class="ion_input" placeholder="Address" formControlName="vehicle_cust_address" name="vehicle_cust_address"></ion-input>
  <ion-icon name="navigate" class="ion_icon" item-left small></ion-icon>
</ion-item> …
Run Code Online (Sandbox Code Playgroud)

css ionic-framework ionic2 ionic3

10
推荐指数
3
解决办法
9644
查看次数

如何在设置或获取之前拦截FormControl的值?

这个问题非常明显.我想拦截FormControl的value属性的传入值,并能够截取它连接到的HTML控件的传出值.

假设我有一个名为"firstName"的FormControl,我把它连接到一个文本框,如下所示:

<input type="text" formControlName="firstName" />
Run Code Online (Sandbox Code Playgroud)

默认情况下,当用户在文本框中输入值并提交时,FormControl的值将设置为文本框中的值.有没有什么方法可以拦截设置的值并在设置之前修改它?

同样,有没有办法拦截FormControl发送到HTML控件的值?例如,如果我将FormControl的值设置为某些内容,但我想修改文本框中显示的值.

我知道我可以使用ngModel充当表单和控件之间的中介,但是当使用多个控件时,这会变得很麻烦.我也知道你可以创建自己的控件并实现ControlValueAccessor,但这也很麻烦,因为我必须为我想要使用的每个控件创建一个相应的控件.

有关我提出此问题的原因的详细信息,请参阅https://github.com/ionic-team/ionic/issues/7121

ionic-framework ionic2 angular2-forms angular angular-reactive-forms

10
推荐指数
2
解决办法
1793
查看次数

空白应用程序无法调试构建 - 找不到/Info.plist文件

在更大的上下文中,我回过头来创建一个空白项目并运行我的构建命令.同样的错误:

ionic start myApp blank
cd myApp
ionic cordova run ios --debug --target="iPhone-8"  --consolelogs



ionic-app-scripts build --target cordova --platform ios
[11:39:29]  ionic-app-scripts 3.2.0 
[11:39:29]  build dev started ... 
[11:39:30]  clean started ... 
[11:39:30]  clean finished in 1 ms 
[11:39:30]  copy started ... 
[11:39:30]  deeplinks started ... 
[11:39:30]  deeplinks finished in 15 ms 
[11:39:30]  transpile started ... 
[11:39:33]  transpile finished in 3.16 s 
[11:39:33]  preprocess started ... 
[11:39:33]  preprocess finished in 1 ms 
[11:39:33]  webpack started ... 
[11:39:33]  copy finished in …
Run Code Online (Sandbox Code Playgroud)

ios cordova ionic-framework ionic2 ionic3

10
推荐指数
2
解决办法
6953
查看次数