Что это значит: items: Array <any> - PullRequest
0 голосов
/ 22 апреля 2019

Очень плохо знаком с Angular и Javascript.У меня есть домашняя работа для класса angular.js.У нас есть подсказка кода и нам нужно создать простую форму.В подсказке кода есть:

export class AppComponent {
      items:Array<any>
      constructor() {
          this.items = [];
          this.addItems();
      }

Я не понимаю, что такое "items: Array" и как это работает.Как мне создать простую форму?Что бы я ни делал, мой app.module.ts не работает, если я меняю одну вещь, и это никогда не было проблемой.

У меня есть:

@Component({
  selector: 'app-root',
  template: `
    <h1> First Name: <input [(ngModel)]="items"> </h1>
    <ul *ngFor="let item of items;let i = index">
    <li>{{i}}: {{item.num}} <input type='button' value='delete' (click)=removeItem(item)></li>
    </ul>
  `,
})

1 Ответ

2 голосов
/ 22 апреля 2019

вы не используете JavaScript, вы используете машинопись на этот раз.поэтому все, что вы пишете, компилируется в javascript, а затем выполняется.

items:Array<any>

здесь вы объявляете тип, поэтому вы говорите машинописи, что эта переменная items имеет тип Array.это означает, что переменная items может ссылаться только на массив, ничего больше

items:Array<any>=[]
items:Array<any>=new Array<any>();

, но если вы попытаетесь назначить что-то еще,

items:Array<any>=2

компилятор машинописного текста выдаст вам ошибку и скажет, что не можетустановите тип числа в тип массива.

<any>

это универсальный тип.Вы говорите компилятору, какие типы будут вставлены в этот массив.«любой» означает, что элементы, которые вы помещаете в массив, могут быть чем угодно.числа, строка, объект, массив ... так что вы могли бы инициировать это так

items:Array<any>=["Hello",2,{first:"user1",last:"pass1"},[4,6,7]];

, но вместо «любой», если вы напишите что-то вроде этого

items:Array<number>;

, это означает, чтовнутри этого массива могут быть только числа, и если вы попытаетесь добавить что-то еще, компилятор выдаст вам ошибку, которая не может поместить что-то еще в числа типа Array

...