无法分配给类型,类型中缺少属性长度

时间:2019-02-03 05:22:41

标签: angular

In the menucomponent.ts

    dishData: Dish[] = Dishes;

    selectedDish: Dish = Dishes[0] ;

Dish []和Dish都来自同一文件。我知道第一个dishData是Dish数组类型的。为什么一个人需要一个尖括号,而另一个则不需要。在第一个中,所有菜肴数据都被分配给dishData,在第二个中,仅第一个菜肴(索引0)被分配给selectedDish。碟形类型为数组Dish [],因此为什么此语法selectedDish: Dish[] = Dishes[0];显示错误“碟形Dish []无法分配碟形。属性长度在Dish类型中丢失”。 (与悬停selectedDish上的代码相对应)

共享文件夹dishs.ts

    import { Dish } from './dish';

    export const Dishes: Dish[] = [
        {
            id: '0',
            name: 'Uthappizza',

共享文件夹dish.ts

    import { Comment } from './comment';

        export class Dish {
            id: String;
            name: String;
            image: String;

menu.component.ts

    import { Dishes } from '../shared/dishes';
    import { Dish } from '../shared/dish';

    @Component({
      selector: 'app-menu',
      templateUrl: './menu.component.html',
      styleUrls: ['./menu.component.css']
    })
    export class MenuComponent implements OnInit {

      dishData: Dish[] = Dishes;
      selectedDish: Dish = Dishes[0] ;

      constructor() { }

      ngOnInit() {
      }

    }

1 个答案:

答案 0 :(得分:1)

按以下步骤在ngOnInit中分配它,

localhost