标签: ionic3

Ionic 3 Native - LinkedIn登录错误

我在Ionic 3应用程序中使用了离子本机linkedin插件.

我的代码:

var scopes = ['r_basicprofile', 'r_emailaddress', 'rw_company_admin', 'w_share'];
this.linkedin.login(scopes, true).then((res) => {
    console.log(res) ;
}, (err) => {
    console.log(err) ;
});
Run Code Online (Sandbox Code Playgroud)

我有错误:

'string []'类型的参数不能分配给'LinkedInLoginScopes []'类型的参数.类型'string'不能分配给'LinkedInLoginScopes'类型.

请帮帮我.

ionic-framework ionic2 ionic-native ionic3

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

离子选择选择默认值不起作用

我有离子选择器,其中有很多选项,当视图准备好根据CurrentNumber选择一个默认值时,我就有离子选择器。我有这个代码:

<ion-select formControlName="Level">
          <ion-option [value]="level.id" *ngFor="let level of levels" [attr.selected]="(level.levelNumber == currentLevel)? true : null">
             {{level.name}}
          </ion-option>
</ion-select>

this.currentLevel = 1;
Run Code Online (Sandbox Code Playgroud)

数据来自服务器,像这样:

data = [
 {
  levelNumber : 1,
  name:'abcd'
 },
 {
levelNumber:2,
name:'efg'
 }
]
Run Code Online (Sandbox Code Playgroud)

typescript ionic2 ionic3 angular

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

ionic2:无法从popover导航到另一个页面

我正在使用Ionic2,当用户选择要从popover打开的页面时,我想打开另一个页面,这是第一页的代码:

popvarSpecialsArr = ['Home','My Account','Cart','Wishlist','My Orders'];
presentPopoverSpecial(myEvent) {
let popover = this.popoverCtrl.create(MorePopverPage, {popvarArr: this.popvarSpecialsArr});
console.log('my event', myEvent);
popover.present({
  ev: myEvent
});

}
Run Code Online (Sandbox Code Playgroud)

这个来自popover页面的代码:

popvarArr;

constructor(public navCtrl: NavController, public navParams: 
NavParams,public viewCtrl: ViewController) {
this.popvarArr = this.navParams.get('popvarArr');
console.log(this.navParams.get('popvarArr'));
}

openPage(page) {
console.log(page);
if(page == 'Home') {
  console.log('inside home');
  this.navCtrl.setRoot(HomePage);
} else if(page == 'My Account') {
  this.navCtrl.setRoot(MyAccountPage);
} else if(page == 'Cart') {
  this.navCtrl.setRoot(CartPage);
} else if(page == 'Wishlist') {
  this.navCtrl.setRoot(WishlistPage);
} else if(page == 'My Orders') {
  this.navCtrl.setRoot(MyOrdersPage);
} else …
Run Code Online (Sandbox Code Playgroud)

typescript ionic2 ionic3 angular

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

取消旧警报并显示最新警报-Ionic3

我正在使用Ionic 3的警报,并且遇到警报堆积的问题。我正在使用网络插件检查用户是否已连接到网络(WiFi / 2G / 3G等),其想法是每次用户下线或上线时都会触发警报。

this.connectSubscription = this.network.onConnect().subscribe(() => {
  console.log('network connected!');
  let connectedToInternet = this.alertController.create({
    subTitle: 'Connected to Internet',
    buttons: ['OK']
  });
  connectedToInternet.present();
});

this.disconnectSubscription = this.network.onDisconnect().subscribe(() => {
  let noInternetAlert = this.alertController.create({
    subTitle: 'No Internet Connection. Please enable Wifi or Mobile data to continue.',
    buttons: ['OK']
  });
  noInternetAlert.present();
});
Run Code Online (Sandbox Code Playgroud)

当前行为:如果用户多次断开连接并重新连接,则对于网络中的每个更改实例,都会显示一个警报,并且警报会堆积在视图上,直到用户手动解除警报为止。

必需的行为:如果用户多次断开连接并重新连接,则对于网络变化的每个实例,都应显示一个警报,而较旧的警报将自动被关闭,因此在任何给定的时间点,不会向用户显示多个警报视图上任何警报的实例。

cordova typescript ionic2 ionic3 angular

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

Ionic 3文件夹结构

在离子1中,我将基于模块的文件夹分开

user
  html
  - user-list.html
  - user-login.html
  - user-profile.html
  - user-edit-profile.html

  scss
  - ....
Run Code Online (Sandbox Code Playgroud)

那么,离子2是否遵循最佳的文件夹结构实践?

user-list
- user-list.html
- user-list.scss
- user-list.compoment.ts
- user-list.module.ts

user-login
...

user-profile
...

user-edit-profile
....
Run Code Online (Sandbox Code Playgroud)

或者我应该创建一个用户模块文件夹作为所有用户页面的父文件夹?

typescript ionic-framework ionic2 ionic3 angular

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

离子文件下载无法正常工作

我正在为壁纸构建一个离子应用程序.

在应用程序中,存在显示在www/assets/img中的图像.我在下面构建了2个按钮,用于下载和检索显示的图像到移动设备存储器.

当我点击下载按钮时,会出现一个对话框,说"下载成功!Pug.jpg已成功下载到:filepath".但是当我检查手机内存时没有这样的文件.当我点击"检索"按钮时它会显示对话框说"文件检索成功!Pug.jpg已成功检索:filepath""即使手机内存中没有文件.

这是home.ts代码

import {Component} from '@angular/core';
import {NavController, Platform, AlertController} from 'ionic-angular';
import {Transfer, TransferObject} from '@ionic-native/transfer';
import {File} from '@ionic-native/file';

declare var cordova: any;

@Component({
  selector: 'page-home',
  templateUrl: 'home.html',
  providers: [Transfer, TransferObject, File]
})

export class HomePage {

  storageDirectory: string = '';

  constructor(public navCtrl: NavController, public platform: Platform, private transfer: Transfer, private file: File, public alertCtrl: AlertController) {
    this.platform.ready().then(() => {
      // make sure this is on a device, not an emulation (e.g. chrome tools device mode) …
Run Code Online (Sandbox Code Playgroud)

android ios cordova-plugins ionic-native ionic3

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

如何通过For循环创建窗体控件?(ionic2,3)

ts文件:

    this.addAdvertise = this.formBuilder.group({
      input1: [''],
      input2: [''],
      .
      .
      .
      inputN: [''],
      desc:  ['']
    });
Run Code Online (Sandbox Code Playgroud)

输入计数来自数组的长度,数组来自服务器.

我可以使用for循环来创建输入控件吗?

typescript ionic-framework ionic2 ionic3 angular

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

Ionic 2/3:通过ID将数据传递到下一页

我是Ionic的新手,但基本上我希望根据ID将数据从一个屏幕传递到另一个屏幕.

在我的"reference.ts"文件夹中,我有以下代码..

 goToReference1(){
        let id = document.getElementById("1")

      if(id = 1) {
referenceField1: this.referenceList.referenceField1
        this.navCtrl.push(ReferencePage,referenceField1);
      }
      else {
        console.log("nahhh")
      }
    };
Run Code Online (Sandbox Code Playgroud)

在我的levels.ts文件夹(链接到数据的页面)我有....

ionViewDidLoad() {
  this.navParams.get("referenceField1")
  console.log(this.navParams.get("referenceField1"))
}
Run Code Online (Sandbox Code Playgroud)

我不确定是否有更简单的方法来传递并根据ID调用此数据.我很难在下一页上显示它.我已经看过这个教程了,它有点帮助,但我希望更进一步.

ionic-framework ionic2 ionic3

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

Ionic 3 File插件,无法在设备上写入文件

我正在使用离子3和文件插件做一个应用程序,我试图写一个json字符串到我的资产文件夹下的json文件,这个层次结构:-assets - > mock - > msg-list.json,资产为来自离子文件的文件夹.

使用文件插件时:

this.file.writeExistingFile("file://android_asset/www/assets/mock/","msg-list.json",JSON.stringify(data))
            .catch(
              error => {
                console.log(error);
              }
          );
Run Code Online (Sandbox Code Playgroud)

我总是得到代码1000的错误,这是坏网址的一个,我确实删除文件后的"/":(已经有3)仍然得到1000代码错误.

我该怎么办 ?

android json ionic-framework ionic3 angular

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

我怎样才能捕获超时请求

这是我的代码:

properties.service.ts

get(stringParams) {
    let headers = new Headers({
      "X-AUTH-APIKEY":  API_KEY
    });

    this.options = new RequestOptions({
      headers: headers
    });
    return this.http
      .get(`${API_URL}/properties/?${stringParams}`, this.options)
      .timeout(50)
      .map((response: Response) => response.json())
  }



posts.ts

    this.propertiesService.get(arrayParams).subscribe((data: any) => {

    }), (err) => { console.log("timeoout")};
Run Code Online (Sandbox Code Playgroud)

我把50放在我的超时中因此被解雇但我无法以这种方式捕获错误

}), (err) => { console.log("timeoout")};
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

TimeoutError {name: "TimeoutError", stack: "TimeoutError: Timeout has occurred?    at new Time…http://localhost:8100/build/polyfills.js:3:10143)", message: "Timeout has occurred"
Run Code Online (Sandbox Code Playgroud)

编辑:

this.propertiesService.get(arrayParams).subscribe((data: any) => {

        }), (err) => { console.log("timeoout")};

get(stringParams) {

    return this.http
      .get(`${API_URL}/properties/?${stringParams}`, this.options)
      .timeout(50)
      .map((response: Response) …
Run Code Online (Sandbox Code Playgroud)

javascript ionic2 ionic3 angular

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