标签: ionic2

Ionic2:取消订阅事件以避免重复条目?

我已经按照本教程概述了在Ionic 2应用程序中添加监控信标.我有它工作得很好:当视图加载时,它初始化并开始监听信标:

home.ts

    ionViewDidLoad() {
        this.platform.ready().then(() => {
            this.beaconProvider.initialise().then((isInitialised) => {
                if (isInitialised) {
                    this.listenToBeaconEvents();
                }
            });
        });
    } 
Run Code Online (Sandbox Code Playgroud)

这将调用listenToBeaconEvents函数,该函数使用所有信标填充视图中的列表:

home.ts

    listenToBeaconEvents() {
        this.events.subscribe(‘didRangeBeaconsInRegion’, (data) => {

            // update the UI with the beacon list
            this.zone.run(() => {

                this.beacons = [];

                let beaconList = data.beacons;
                beaconList.forEach((beacon) => {
                    let beaconObject = new BeaconModel(beacon);
                    this.beacons.push(beaconObject);
                });

            });

        });
    }
Run Code Online (Sandbox Code Playgroud)

我可以使用this.beaconProvider.stopRanging()以下函数调用函数来停止测距:

信标provider.ts

    stopRanging() {
        if (this.platform.is('cordova')) {
            // stop ranging
            this.ibeacon.stopRangingBeaconsInRegion(this.region)
                .then(
                () => {
                    console.log('Stopped …
Run Code Online (Sandbox Code Playgroud)

ibeacon ionic-framework ionic2

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

离子3 cli'离子cordova运行android'命令抛出错误

我将cli更新为离子3版本,当我运行时

离子cordova运行android

构建apk文件并在android模拟器中运行我收到此错误

    C:\Users\XXXX\Desktop\beep>ionic cordova run android
Running app-scripts build: --address 0.0.0.0 --port 8100 --p 8100 --livereload-port 35729 --r 35729 --iscordovaserve --externalIpRequired --nobrowser

[20:52:20]  build dev started ...
[20:52:20]  clean started ...
[20:52:20]  clean finished in 11 ms
[20:52:20]  copy started ...
[20:52:20]  transpile started ...
[20:52:22]  transpile finished in 2.53 s
[20:52:22]  preprocess started ...
[20:52:22]  deeplinks started ...
[20:52:23]  deeplinks finished in 52 ms
[20:52:23]  preprocess finished in 54 ms
[20:52:23]  webpack started ...
[20:52:23]  copy finished in …
Run Code Online (Sandbox Code Playgroud)

android cordova ionic-framework ionic2 ionic3

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

如何阅读firebase推送通知内容并在ionic2中触发方法?

是否可以访问push notification离子2中的内容并在通知到达时执行一堆代码event fire

firebase typescript ionic2 ionic3 angular

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

颜色属性在离子内容标签内的标题中不起作用

颜色属性在离子2中不起作用.颜色在普通IONIC标签中起作用,但在HTM1标签中起作用.你能帮忙吗?代码写在下面.

<ion-content>
<div class="page-home">
<h1 color="secondary">LOGO</h1>
<br/>
<br/>
<p color="danger">Sign in with social media account</p>
<div id="socialLogin">
  <img src="assets/icon/fb.svg" />
  <img src="assets/icon/tw.svg" />
  <img src="assets/icon/goo.svg" />
</div>
<ion-list>
  <ion-item>
    <ion-label floating color="secondary">Username</ion-label>
    <ion-input type="text"></ion-input>
  </ion-item>
  <ion-item>
    <ion-label floating>Password</ion-label>
    <ion-input type="password"></ion-input>
  </ion-item>
</ion-list>
<br/>
<br/>
<button ion-button full icon-left> <ion-icon name="log-in"></ion-icon>Login</button>

<button ion-button clear>Register</button>/
<button ion-button clear>Forgot Passowrd</button>
 </div>

</ion-content>
Run Code Online (Sandbox Code Playgroud)

html css ionic-framework ionic2

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

离子2获得离子输入值

我正在用离子2创建一个登录.请不要只回答"你只需要添加[(ngModules)] - 属性".如果您认为这是解决方案,请解释原因.解释一下,就像你会对孩子一样.

我在login.ts中的代码:

 import {Component} from '@angular/core';
 import {IonicPage, NavController, NavParams, MenuController} from 'ionic-angular';

@IonicPage()
@Component({
  selector: 'page-login',
  templateUrl: 'login.html',
})
export class LoginPage {
  password: string;

  constructor(public navCtrl: NavController, public navParams: NavParams, public menu: MenuController) {
    this.menu.enable(false, "");
  }

  login() {
    alert(this.password);
  }

  ionViewDidLoad() {
    console.log('ionViewDidLoad LoginPage');
  }
}
Run Code Online (Sandbox Code Playgroud)

login.html中的代码

<ion-content padding id="login-dialog">
  <ion-list inset>

    <ion-item no-padding>
      <ion-label color="primary">
        <ion-icon name="person"></ion-icon>
      </ion-label>
      <ion-input type="text" placeholder="Username"></ion-input>
    </ion-item>

    <ion-item no-padding>
      <ion-label color="primary">
        <ion-icon name="lock"></ion-icon>
      </ion-label>
      <ion-input type="password" …
Run Code Online (Sandbox Code Playgroud)

input typescript ionic2

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

应用程序启动后,Ionic 2重定向到另一个页面

我想在localStorage上已经有令牌时将页面重定向到主页(覆盖登录页面).怎么做?我在app.component.ts上的构造函数()上有以下代码,但它在请求完成之前首先显示登录

statusBar.backgroundColorByHexString('#D32F2F');
      splashScreen.hide();
      if(localStorage.getItem('token')){
        authProvider.silent_login().subscribe(res => {
          console.log(res);
          if(res.error==0){
            this.rootPage = HomePage;
          }
        })
      }
Run Code Online (Sandbox Code Playgroud)

typescript ionic2 angular

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

处理离子2中http调用中的错误

在我的Ionic2应用程序中,我有一个处理所有http请求的服务.当http调用中发生任何错误时,我有一个警报控制器.在按钮上单击此警报我想再次运行该调用.我现在能够做到.问题是响应未解析为从哪个函数调用的页面.

服务代码:

loadCity(){
return new Promise(resolve => {
this.http.get(url).map(res=>res.json())
.subscribe(data => {resolve(data)},
err => { this.showAlert(err); }
});
}

showAlert(err: any){
// code for alert controller, I am only writing handler of alert 
//controller refresh button
handler => {this.loadCity();}
}
Run Code Online (Sandbox Code Playgroud)

CityPage中的代码

showCity(){
this.cityService.loadCity()
.then(data => {//process data});
}
Run Code Online (Sandbox Code Playgroud)

处理程序再次调用函数,但此时承诺未解析为CityPage showCity()函数.

http promise ionic-framework ionic2

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

离子3验证边界未在ios上显示

我正在使用ionic3创建一个登录页面,并进行表单验证.当我运行Android和浏览器平台的应用程序时,验证显示为红色底部边框.但对于ios平台,它底部没有显示红色边框.我错过了什么?

参考屏幕截图ios平台的屏幕截图 - 没有红色边框 安卓平台的secreenshot-显示红色边框

ionic-framework ionic2 ionic3

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

离子2无法查看离子项内的跨度,如何渲染简单文本

我不确定我是否遗漏了某些东西,但是当我尝试将一个跨度添加到Ion Item时,不会渲染范围,也不会显示div.

<ion-card>
  <ion-card-title>
  </ion-card-title>
  <div>
    <button ion-button (click)="toggleEdit()">Edit</button>
  </div>
  <ion-list>
    <ion-card-content>
      <ion-item [hidden]="editOptions.!isEditing">
        <span class="inline-edit">Text</span>

        <ion-label color="primary">{{label}}</ion-label>
        <ion-input></ion-input>
        <span class="inline-edit">{{value}}&nbsp;</span>
      </ion-item>
      <ion-item [hidden]="!editOptions.isEditing">
        <ion-label color="primary">{{label}}</ion-label>
        <ion-input [(ngModel)]="value" [required]="required" [type]="type" [name]="value"></ion-input>
      </ion-item>
    </ion-card-content>
  </ion-list>
</ion-card>
Run Code Online (Sandbox Code Playgroud)

离子标签和输入显示和工作正常,但当我尝试在他们不渲染的项目中使用跨度或div时.即使我用铬检查它们.

如何呈现简单文本,我不允许在组件中使用HTML?什么是Ionic 2等效地渲染少​​量文本,看起来标签必须始终在输入上,所以我应该使用什么组件?

javascript typescript ionic2 ionic3 angular

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

IONIC 2 - <ion-segment> <div>谷歌地图没有显示

加载页面时会显示谷歌地图.但是当切换离子段时,不会显示地图.以下是我的离子2代码:

<ion-header>
  <ion-toolbar no-border-top>
    <ion-segment [(ngModel)]="social" (ionChange)="segementChangeAction()">
      <ion-segment-button value="activity">
        Map
      </ion-segment-button>
      <ion-segment-button value="messages">
        Messages
      </ion-segment-button>
    </ion-segment>
  </ion-toolbar>
</ion-header>



<ion-content no-bounce>
  <div [ngSwitch]="social">
    <div *ngSwitchCase="'activity'">
        <div #map id="map"></div>
    </div>
    <div *ngSwitchCase="'messages'">
      Some text.....        
    </div>
  </div>
</ion-content>
Run Code Online (Sandbox Code Playgroud)

google-maps ionic2

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