Директива импорта в ionic2 — ng2-qrcode

Я пытаюсь использовать ng2-qrcode в своем тестовом приложении ionic2, но директива так и не найдена, следуйте выводу ionic serve:

serve /?restart=454981 (www/index.html) serve /cordova.js (издевательство) serve /build/js/es6-shim.min.js serve /build/js/Reflect.js serve /build/js/zone .js serve /build/js/app.bundle.js serve /build/css/app.md.css serve /build/app.html serve /build/pages/page1/page1.html 0 045123 log Angular 2 работает в режим разработки. Вызовите enableProdMode(), чтобы включить производственный режим. 1 045125 warn Native: пытался вызвать StatusBar.styleDefault, но Cordova недоступна. Обязательно включите cordova.js или запустите в группе устройства/симулятора 2 045159
ИСКЛЮЧЕНИЕ: Ошибка: Uncaught (в обещании): не найдена аннотация директивы в ошибке QRCodeComponent 3 045160 ИСКЛЮЧЕНИЕ: Ошибка: Uncaught (в обещании): нет Обнаружена аннотация директивы в QRCodeComponent 4
045160 error STACKTRACE: 5 045161 error
resolvePromise@http://localhost:8100/build/js/zone.js:538:32 resolvePromise@http://localhost:8100/build/js/zone.js:523:18 scheduleResolveOrReject/‹@http://localhost:8100/build/js/zone.js:571:18 Zonehttp://localhost:8100/build/js /zone.js:356:24 NgZoneImpl/this.inner‹.onInvokeTask@http://localhost:8100/build/js/app.bundle.js:35178:32 Zonehttp://localhost:8100/build/js/zone.js:355:24 Zonehttp://localhost:8100/build/js/zone.js:256:29 стокMicroTaskQueue@http://localhost:8100/build/js/zone.js:474:26 ZoneTask/this.invoke@http://localhost:8100/build/js/zone.js:426:22

6 045161 groupEnd 7 045162 ошибка Отклонение необработанного обещания:, Аннотация директивы не найдена в QRCodeComponent, ; Зона:, угловая, ; Задание:, Обещание.затем, ; Значение:, [объект Объект]

Я следую readme на GitHub и делаю:

npm установить ng2-qrcode

Создайте класс с аннотацией компонента:

import { Component } from '@angular/core';
import { NavController, NavParams } from 'ionic-angular';
import {QRCodeComponent} from 'ng2-qrcode'

@Component({
  templateUrl: 'build/pages/page1/page1.html',
  directives: [QRCodeComponent],
})
export class Page1
{
  constructor(private navCtrl: NavController ) { }
}

И поместите тег в шаблон build/pages/page1/page1.html:

<qrcode qrdata="'My QR code data string'" size="256" level="'M'"></qrcode>

Но я получаю эту ошибку, что не так? Трудно найти объяснения или документацию Ionic2, и я очень новичок в Ionic2 и машинописном тексте.


person Jroger    schedule 03.08.2016    source источник
comment
Вы нашли решение? У меня такая же проблема   -  person victorxiv    schedule 20.08.2016
comment
да, см. решение ниже.   -  person Jroger    schedule 18.10.2017


Ответы (2)


Я следую решению от @yahyaKacem в выпуске "мпорт QRCode с импортом машинописного текста", вот plunker с примером.

Я не тестирую последнюю версию, но, возможно, более новая версия будет работать (существует слияние, связанное с этой проблемой).

person Jroger    schedule 27.10.2016

Для тех, кому понравился оригинальный ng2-qrcode, я провел рефакторинг ng2-qrcode, чтобы он работал с Ionic3 (и Angular4+). angularx-qrcode, по сути, является заменой ng2-qrcode, написанного на TypeScript, с теми же API, а также компиляцией AOT и комплектацией веб-пакетов.

Репозиторий angularx-qrcode находится здесь: https://github.com/Cordobo/angularx-qrcode

Дайте мне знать, если это работает для вас.

person Cordobo    schedule 02.10.2017