在ionic2如何设置第一ion-segment-button的ion-segment是在active state?我曾尝试与提供这样做active class的ion-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)
成为活跃的国家.这该怎么做?
我正在尝试创建一个JS启动项目,但ionic start xxx --v2创建了一个打字稿项目.
我需要创建一个JS启动项目,这样我就可以将现有的JS ionic 2应用程序复制到干净的安装中.
我尝试将我的所有JS文件重命名为typescript,但是获得了大量类型的错误消息:
类型yyy上不存在属性xxx
我收到此错误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) 这可能只是一个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),模拟变得越来越棘手.
有没有人找到这种情况的解决方案?
我正面临着如何处理默认移动设备后退按钮的问题,该按钮在退出应用程序时检查确认,如果我按下后退按钮,则应调用一些显示弹出窗口的处理程序,以确认退出.或者有任何方法调用registerBackButtonAction()?或者是如何在IONIC 2中使用它,?请帮帮我.提前致谢.
我有一个像这样的蓝色页脚
<ion-footer align="center">
<ion-toolbar>
<ion-title>
...
Run Code Online (Sandbox Code Playgroud)
但它在顶部显示阴影样式边框.我该如何删除它.我试图检查它,但没有找到任何东西.
这是我用离子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连接起来.这不适合我.

我正在使用离子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) 这个问题非常明显.我想拦截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
在更大的上下文中,我回过头来创建一个空白项目并运行我的构建命令.同样的错误:
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) ionic2 ×10
angular ×5
ionic3 ×4
typescript ×3
android ×2
ios ×2
cordova ×1
css ×1
javascript ×1
unit-testing ×1