#angular #ionic-framework #components #pipe
Вопрос:
Я последовал нескольким ответам на эту проблему, но ни одно из решений, похоже, не работает для меня. Я просто хочу включить/отключить список переключателей в зависимости от того, является ли значение, связанное с ним, дробью или целым числом. отключите, если дробь, покажите, если целое.
Вот труба
@Pipe({name: 'isNotWholeNum'})
export class IsNotWholeNumPipe implements PipeTransform {
transform(value: number): boolean {
return Math.floor(value)!=value;
}
}
Вот общий модуль, созданный для того, чтобы сделать его видимым/импортируемым во что-то (компонент), у которого нет собственного файла .module.ts
import { CommonModule } from '@angular/common';
import { IsNotWholeNumPipe } from './pipes';
@NgModule({
declarations: [
IsNotWholeNumPipe
],
imports: [CommonModule],
exports: [
IsNotWholeNumPipe
]
})
export class PipesModule {}
Вот цитата этого модуля в app.module.ts (я пытаюсь это сделать, потому что соответствующая проблема включения компонента в модальный диалог была решена таким образом, но на самом деле понятия не имею, правильно это или нет)
@NgModule({
declarations: [AppComponent, ChordChooserComponent],
entryComponents: [],
imports: [BrowserModule, IonicModule.forRoot() , IonicStorageModule.forRoot(), AppRoutingModule, ChordMakerPageModule, ChordThumbnailModule, PipesModule],
providers: [{ provide: RouteReuseStrategy, useClass: IonicRouteStrategy }],
schemas: [CUSTOM_ELEMENTS_SCHEMA],
bootstrap: [AppComponent],
})
export class AppModule {}
И, наконец, вот html, который вызывает его:
<ion-radio-group value="{{n}}" [(ngModel)]='fretsByString[i]' disabled="{{fretsByString[i] | isNotWholeNum}}">
<ion-list-header>
<ion-label>{{n}}</ion-label>
</ion-list-header>
<ion-item *ngFor="let q of numbers;let i = index">
<ion-radio value="{{i}}"></ion-radio>
</ion-item>
</ion-radio-group>
Я перепробовал все виды перестановок, но просто не добился никакого прогресса. Все, что я получаю, — это одно и то же сообщение об ошибке:
Трубу «Нехол» найти не удалось!
Может ли кто-нибудь указать мне, где мне следует искать проблему?