Ошибки родного плагина WheelSelector при объявлении провайдера в @NgModule - PullRequest
0 голосов
/ 28 января 2019

Я пытаюсь включить WheelSelector (плагин Wheel-selector для Ionic Native) в мое приложение ionic3, однако, когда я пытаюсь импортировать и добавить WheelSelector в свой список провайдеров в app.module.ts @NgModule, япоявляется сообщение об ошибке: «Тип« WheelSelectorOriginal »нельзя назначить типу« Поставщик ».»

Я пытаюсь следовать этому простому руководству: https://ionicacademy.com/wheel-picker-ionic/

Я установил плагинсделав следующее в папке моего проекта:

ionic cordova plugin add cordova-wheel-selector-plugin
npm install --save @ionic-native/wheel-selector

В конечном счете, я не могу заставить плагин работать вообще.

Я попытался импортировать WheelSelector из обоих:

 '@ionic-native/wheel-selector' 
 '@ionic-native/wheel-selector/ngx'

Если я использую версию ngx, я больше не получаю ошибку присваивания, указанную выше, однако я получаю новую ошибку времени выполнения с указанием Object (...) это не функция.

app.module.ts:

import { WheelSelector } from '@ionic-native/wheel-selector';
...
@NgModule({
...
providers: [
StatusBar,
SplashScreen,
{provide: ErrorHandler, useClass: IonicErrorHandler},
WheelSelector
]

home.ts:

import { Component } from '@angular/core';
import { NavController, ToastController } from 'ionic-angular';
import { WheelSelector } from '@ionic-native/wheel-selector';

@Component({
  selector: 'page-home',
  templateUrl: 'home.html'
})
export class HomePage {

  dummyJson = {
    days: [
      {description: 'Mon'},
      {description: 'Tue'},
      {description: 'Wed'},
      {description: 'Thu'},
      {description: 'Fri'},
      {description: 'Sat'},
      {description: 'Sun'}
    ],
    people: [
      {description: 'Joe'},
      {description: 'John'},
      {description: 'Max'}
    ]
  };

constructor(public navCtrl: NavController, 
private toastCtrl: ToastController, private selector: WheelSelector) {}

openPicker(){
    this.selector.show({
      title: 'select your contact',
      positiveButtonText: 'yes',
      negativeButtonText: 'no',
        items:[
         this.dummyJson.days,
         this.dummyJson.people
      ],
        defaultItems: [
         {index:0, value: this.dummyJson.days[4].description},
         {index:1, value: this.dummyJson.people[1].description},
      ]

   }).then(result=>{
     let msg = 'woo';

     let toast = this.toastCtrl.create({
       message: msg,
       duration: 4000
     });
     toast.present();

    });
  } 
 }

Любая помощь, если я иду не такбудет оценено!Спасибо!

1 Ответ

0 голосов
/ 28 января 2019

Решено:

Было несколько проблем:

Я считаю, что после Ionic 2 импорт плагинов для Ionic-native должен происходить из папки ngx.Изменено это как в файле app.module.ts, так и в файле home.ts.Это решает проблему с назначением провайдера.

import { WheelSelector } from '@ionic-native/wheel-selector'/ngx;

Далее в своем файле package.json я обновил все зависимости ALL @ ionic-native до: "5.0.0-beta.15".Итак:

"@ionic-native/core": "5.0.0-beta.15",
"@ionic-native/splash-screen": "5.0.0-beta.15",
"@ionic-native/status-bar": "5.0.0-beta.15",
"@ionic-native/wheel-selector": "5.0.0-beta.15",

Затем:

npm install

Приложение работает нормально без ошибок - по-прежнему не удается отобразить селектор колес, но я думаю, что это возможно, потому что я тестирую набраузер, а не устройство ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...