我目前正在写一个离子2(Angular 2)的简单形式.我想知道如何在验证中添加一个简单的正则表达式模式:
我基本上有这个:
<form>
<ion-input stacked-label>
<ion-label>{{label.msisdn}}</ion-label>
<input type="text"
[(ngModel)]="msisdn"
ngControl="msisdnForm"
required
maxlength="10"
minlength="10"
pattern="06([0-9]{8})"
#msisdnForm="ngForm"
>
</ion-input>
<button [disabled]="!msisdnForm.valid" block (click)="requestActivationCode()">
{{label.requestActivationCode}}
</button>
</form>
Run Code Online (Sandbox Code Playgroud)
拾取最大长度,最小长度和所需数量(如果不满足条件,则禁用该按钮).现在我想将输入限制为数字,并以06为前缀(荷兰电话号码,最小数量).
但是,在验证中未获取该模式.我可以这样做,还是需要代码方法?
我正在使用本机Ionic 2 Geolocation插件,它无法按预期工作.首先,我添加插件.
ionic plugin add cordova-plugin-geolocation
Run Code Online (Sandbox Code Playgroud)
然后我导入插件并发出调用以获取当前位置.
import { Geolocation } from 'ionic-native';
import { Geoposition, GeolocationOptions } from 'ionic-native/dist/plugins/geolocation';
export class MyComponent {
protected getLocation():Promise<Geoposition> {
let options:GeolocationOptions = {
maximumAge: 0, timeout: 5000, enableHighAccuracy: false
};
return Geolocation.getCurrentPosition(options)
.catch(error => { console.error(error.message) };
}
}
Run Code Online (Sandbox Code Playgroud)
我还检查了我的AndroidManifest.xml.
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
Run Code Online (Sandbox Code Playgroud)
我注意到总是超时超时.如果我把它保留为默认值(默认情况下超时设置为无穷大),那么大约20分钟后,我确实得到了一个地理位置.当然,20分钟并不理想.
我也试过使用navigator如下.但我得到了完全相同的结果.
navigator.geolocation.getCurrentPosition(
position => {
console.info('using navigator');
console.info(position.coords.latitude);
console.info(position.coords.longitude);
},
error => {
console.warn('using navigator');
console.warn(error.code);
console.warn(error.message);
},
options
);
Run Code Online (Sandbox Code Playgroud)
测试时Chrome …
我试图以这种方式使用最近添加的LoadingController:
let loading=this.load.create({
content: "Connexion au serveur Migal en cours..."
});
loading.present();
this.http.get(this.urlCheckerForm.value.migalUrl+'/action/MobileApp/URLChecker')
.map(res => res.json())
.subscribe(
data => this.newConnection(data,loading),
error => this.catchURLError(loading));
loading.dismiss();
Run Code Online (Sandbox Code Playgroud)
基本上,我只是想在我的页面加载之前显示我的加载pop-in,然后将其关闭.
我按照Ionic 2文档中的示例进行操作,但它似乎根本不起作用......
编辑:加载组件甚至没有出现.
我从sidemenu起动器开始使用离子2应用程序.现在我想将生成的代码组件(菜单)中的代码移动到一个文件夹中,然后编写一个home组件.当我运行应用程序时,它显示我的错误:
原始异常:没有NavController的提供者!
我的app.component的代码是:
import { Component } from '@angular/core';
import { NavController, Platform } from 'ionic-angular';
import { StatusBar } from 'ionic-native';
import { Login } from '../pages/login/login';
@Component({
templateUrl: 'app.html'
})
export class MyApp {
nav: NavController;
constructor(public platform: Platform, nav: NavController) {
this.nav = nav;
this.initializeApp();
}
initializeApp() {
this.platform.ready().then(() => {
// Okay, so the platform is ready and our plugins are available.
// Here you can do any higher level native things you might need.
StatusBar.styleDefault(); …Run Code Online (Sandbox Code Playgroud) 有没有办法在程序中检测ionic serveCLI正在运行(然后不在真实设备上)并将其用作条件.
我的问题:我有一个Cordova插件,可以回复Cordova的答案.
当我使用Ripple时,它提供选择将回调的值发送回JavaScript(以模拟插件结果).
我注意到Ionic2在浏览器中运行时没有这样做.因此,为了简化我的开发并使其能够在浏览器上进行测试(而不是经常构建到真实设备),我希望能够在ionic serveCLI运行时检入程序.换句话说:检查它是在真实设备还是常规浏览器上运行.
如果它在浏览器上运行,那么我会使用提示要求用户输入Cordova插件结果的虚拟值,而不是真正的Cordova插件.
我有一个小问题.
我正在使用这个HTML代码:
<ion-input id="amount" type="number" ></ion-input>
Run Code Online (Sandbox Code Playgroud)
<button (click)="setinput()">Set Value</button>
而这个TS代码:
setinput(){
var input= document.getElementById("amount") as HTMLInputElement;
input.value=42;
console.log("amount");
console.log(input.value);
}
Run Code Online (Sandbox Code Playgroud)
我的控制台告诉我,数字已经改变了.但更新后的值不会显示在我的输入字段中.你有什么建议吗?
提前致谢!
L. Trembon
我不明白为什么我的图标和闪屏没有显示.它们在config.xml文件中被正确引用,但它是显示的cordova默认图像.请帮忙
编辑:我刚刚注意到生成的图标和启动画面没有复制到各自的平台.为什么会这样?
我想表明4 ion-items我ion-list在一排.
由于我使用的是Bootstrap,我试图这样做:
<button class="col-sm-3" ion-item *ngFor="let player of players">
<ion-avatar item-left>
<img [src]="user.photoURL">
</ion-avatar>
{{ user.name }}
</button>
Run Code Online (Sandbox Code Playgroud)
但它不起作用.
我是离子菜鸟.我使用ionic-cli创建了一个应用程序,并尝试运行该应用程序.我在chrome中得到低于警告(试图将无限schroll添加到gallary应用程序)
Native:尝试调用Splashscreen.hide,但Cordova不可用.确保包含cordova.js或在设备/模拟器中运行
如何cordova.js仅在chrome测试期间包含
当我尝试在笔记本电脑和Ionic的Pro仪表板上构建Android时出现此错误.
[04:27:55]: ? FAILURE: Build failed with an exception.
[04:27:55]: ? * What went wrong:
[04:27:55]: ? Execution failed for task ':app:transformClassesWithDesugarForRelease'.
[04:27:55]: ? > com.android.build.api.transform.TransformException: java.lang.RuntimeException: java.lang.RuntimeException: com.android.ide.common.process.ProcessException: Error while executing java process with main class com.google.devtools.build.android.desugar.Desugar with arguments {--input /builds/user/anonymous-social/platforms/android/app/build/intermediates/transforms/stackFramesFixer/release/43.jar --output /builds/user/anonymous-social/platforms/android/app/build/intermediates/transforms/desugar/release/45.jar --input /builds/user/anonymous-social/platforms/android/app/build/intermediates/transforms/stackFramesFixer/release/49.jar --output /builds/user/anonymous-social/platforms/android/app/build/intermediates/transforms/desugar/release/51.jar --input /builds/user/anonymous-social/platforms/android/app/build/intermediates/transforms/stackFramesFixer/release/37.jar --output /builds/user/anonymous-social/platforms/android/app/build/intermediates/transforms/desugar/release/39.jar --input /builds/user/anonymous-social/platforms/android/app/build/intermediates/transforms/stackFramesFixer/release/3.jar --output /builds/user/anonymous-social/platforms/android/app/build/intermediates/transforms/desugar/release/5.jar --input /builds/user/anonymous-social/platforms/android/app/build/intermediates/transforms/stackFramesFixer/release/28.jar --output /builds/user/anonymous-social/platforms/android/app/build/intermediates/transforms/desugar/release/30.jar --input /builds/user/anonymous-social/platforms/android/app/build/intermediates/transforms/stackFramesFixer/release/47.jar --output /builds/user/anonymous-social/platforms/android/app/build/intermediates/transforms/desugar/release/49.jar --input /builds/user/anonymous-social/platforms/android/app/build/intermediates/transforms/stackFramesFixer/release/19.jar --output /builds/user/anonymous-social/platforms/android/app/build/intermediates/transforms/desugar/release/21.jar --input /builds/user/anonymous-social/platforms/android/app/build/intermediates/transforms/stackFramesFixer/release/44.jar --output /builds/user/anonymous-social/platforms/android/app/build/intermediates/transforms/desugar/release/46.jar --classpath_entry /builds/user/anonymous-social/platforms/android/CordovaLib/build/intermediates/intermediate-jars/release/classes.jar --classpath_entry /builds/user/anonymous-social/platforms/android/app/build/intermediates/classes/release --classpath_entry /builds/user/anonymous-social/platforms/android/app/build/intermediates/transforms/stackFramesFixer/release/0.jar --classpath_entry /builds/user/anonymous-social/platforms/android/app/build/intermediates/transforms/stackFramesFixer/release/1.jar …Run Code Online (Sandbox Code Playgroud) ionic2 ×10
angular ×6
cordova ×4
ionic3 ×4
typescript ×4
android ×2
dom ×1
html5 ×1
input ×1
navigation ×1
refresh ×1
regex ×1
validation ×1