Идентификатор categoryName не определен. Array не содержит такого члена - PullRequest
0 голосов
/ 07 мая 2018
<div class="example-container">
   <div class="pb-16" fxLayout="row" fxLayoutAlign="start center">
      <div class="h2 secondary-text">
        <b>
           <u>Profile Details of {{rows ? rows?.categoryName : ''}}</u>
        </b>
       </div>
    </div>
    <br />
    <mat-form-field>
    <mat-label>Category Name</mat-label>
     <input matInput placeholder="category name" value="{{rows ? rows?.categoryName : ''}}">

    </mat-form-field>
         <br />
         <br />
     <mat-form-field class="example-full-width">
       <mat-label>Category Description</mat-label>
       <textarea matInput placeholder="category description" value="{{rows ? rows?.categoryDesc : ''}}"></textarea>

     </mat-form-field>

</div>

Это component.html

import { Component,OnInit,Input } from "@angular/core";
import { MatSnackBar } from '@angular/material';
import { coerceBooleanProperty } from "@angular/cdk/coercion";
import { HttpClient } from "@angular/common/http";
import { ActivatedRoute } from "@angular/router";
import { FormBuilder, FormGroup, Validators,FormControl } from 
'@angular/forms';
import { Location} from '@angular/common';
import 'rxjs/add/operator/debounceTime';
import 'rxjs/add/operator/delay';
import 'rxjs/add/operator/map';
import {ServiceContactsFakeDb} from '../../../../../fuse-fake-db/service- 
contacts';
import { Data } from '../../../../../fuse-fake-db/hero';
import { LIST } from '../../../../../fuse-fake-db/mock-heroes';
import {CategoryService} from "../category.service";


@Component({
   selector: 'profile-detail',
   templateUrl: './profile.component.html',  
   styleUrls:['./component.scss'],
   providers:[CategoryService]  
})
export class ProfileComponent implements OnInit {
constructor (private location:Location,private http: HttpClient,private 
service:CategoryService,private _Activatedroute:ActivatedRoute){

}
name = new FormControl('', [Validators.required]);
name1 = new FormControl('', [Validators.required]);
favoriteSeason: any;
_card = false;
profiles = LIST;
@Input() category;

 selectedProfile: Data;

  rawdata:any[];
  rows: any[];
  reorderable = true;
  categoryName : any[];
categoryDesc : any = {};
data = [];
item:string[];
id:string;
catName: string;
catDesc: string;
//selectedProfile: ServiceContactsFakeDb;


setDataLayoutType(value: boolean) {
    this._card = coerceBooleanProperty(value);
}
ngOnInit(){
  // this.getDetail();

  this.id=this._Activatedroute.snapshot.params['id'];
  console.log(this.id);

  this.service.getcategory().subscribe(res => {
    this.rawdata = res;
    for(var i=0;i<this.rawdata.length;i++){
        if(this.id == this.rawdata[i].id){
            this.rows=this.rawdata[i];
            console.log(this.rows);
        }
    }
});

 }

В этом коде я получаю сообщение об ошибке в файле component.html, например:

[Angular] Identifier 'categoryName' is not defined. 'Array' does not contain such a member.

Я получаю значения из API, я получаю вывод, но все равно он показывает ошибки в этой строке "value="{{rows ? rows?.categoryName : ''}}"

1 Ответ

0 голосов
/ 08 мая 2018

Я определил строки как массив, заменив его на rows: any={} instead of rows: any[];

...