Фабрика компонентов не найдена Ошибка в ionic2 rc0

я пытаюсь с beta11 на rc0 в ionic2.

на одной из моих страниц есть пользовательский тег в качестве привязки к журналам изменений, которые я пытался обновить мой пользовательский тег и страницу в соответствии с пунктом 7

Импортируйте и добавьте каждый из ваших пользовательских компонентов и каналов в массив объявлений в src/app/app.module.ts.

я переместил свой файл componentTags.ts в src и взглянул на свой @NgModel

@NgModule({
  declarations: [
    MyApp,
    LoginPage,
    HomePage,
    AboutUsPage,
    PrivacyPolicyPage,
    TermsOfUsePage,
    ProductSubCategoryPage,
    CategoryProductDetailsPage,
    CategoryProductDetailsInfoPage,

    //custom tags
    QuantityComponent
  ],
  imports: [
    IonicModule.forRoot(MyApp)
  ],
  bootstrap: [IonicApp],
  entryComponents: [
    MyApp,
    LoginPage,
    HomePage,
    AboutUsPage,
    PrivacyPolicyPage,
    TermsOfUsePage,
    ProductSubCategoryPage,
    CategoryProductDetailsPage,
    CategoryProductDetailsInfoPage,

    QuantityComponent
  ],
  //directives: [QuantityComponent],
  providers: [
    Products,
    Users,
    Configurator,
    Rest
  ]

Итак, вот мой пользовательский файл компонента, называемый файломQuantityTag.ts.

import {Component, Input, Output, EventEmitter} from '@angular/core';

@Component({
    selector: 'counter',
    
    styles: [`

        .quantity-input {
            display:flex; align-items:center;
        }
        .quantity-input .input-width {
            width:50px;
            border: 1px solid #bdbdbd;
            padding-top: 5px;
            
        }
        
        ion-icon{
            margin-left:0px;
            height:20px;
            padding-top: 3px;
            margin-top: 5px;
            color:#64c8dc;
            
        }
        button{
            background-color:SteelBlue;
        margin-left: 0px;
        }
    `],
    
    template: `
        <span class="quantity-input" style="">
            <input type="text" [(ngModel)]="counterValue" class="input-width"/> 
            <button small (click)="submit($event)"><ion-icon name="refresh"></ion-icon></button>
        </span>
    `
})

export class QuantityComponent {
    
    @Input() counterValue = 0;

    @Input() cookie = null;

    @Output() counterChange = new EventEmitter();

    submit(evt){
        this.counterChange.emit({
          value: this.counterValue,
          cookie: this.cookie
        });
    }



}

у меня есть страница с именем shopingcart.ts, на которой мне нужен этот пользовательский тег, но я получаю сообщение об ошибке, как показано ниже

ИСКЛЮЧЕНИЕ: ошибка в классе ./HomePage HomePage — встроенный шаблон: 18:27, вызванная: для ShopingcartPage не найдена фабрика компонентов.

ИСХОДНОЕ ИСКЛЮЧЕНИЕ: Фабрика компонентов для ShopingcartPage не найдена.


person Mohan Gopi    schedule 06.10.2016    source источник


Ответы (1)


Попробуйте добавить свою страницу в @NgModules

app.module.ts:

import { NgModule } from '@angular/core';
import { IonicApp, IonicModule } from 'ionic-angular';
import { MyApp } from './app.component';
import { AboutPage } from '../pages/about/about';
import { ContactPage } from '../pages/contact/contact';
import { HomePage } from '../pages/home/home';
import { TabsPage } from '../pages/tabs/tabs';
import { LoginPage } from '../pages/loginpage/login-page'

@NgModule({
  declarations: [
    MyApp,
    AboutPage,
    ContactPage,
    HomePage,
    TabsPage,
    LoginPage
  ],
  imports: [
    IonicModule.forRoot(MyApp)
  ],
  bootstrap: [IonicApp],
  entryComponents: [
    MyApp,
    AboutPage,
    ContactPage,
    HomePage,
    TabsPage,
    LoginPage
  ],
  providers: []
})
export class AppModule {}

https://github.com/angular/angular/issues/11030

person Anderson    schedule 07.10.2016