Какова реальная потребность сделать модель в угловом? - PullRequest
0 голосов
/ 01 июня 2018

Хотя я новичок в angular и не очень хорошо знаю обо всех понятиях angular.Поэтому я просто хочу знать, как в действительности используется модель в наблюдаемых.

Хотя этот код:

getRestaurants = (): Observable<Restaurant[]> => {
    const restaurants: Restaurant[] = [{
        'RestaurantID': 1,
        'RestaurantName': 'The Restaurant'
    }];
    return restaurants;
};

Может быть заменен следующим кодом:

getRestaurants = (): Observable<any> => {
    const restaurants: any = [{
        'RestaurantID': 1,
        'RestaurantName': 'The Restaurant'
    }];
    return restaurants;
};

Моя путаница связана с тем, почему нам нужно использовать модель, если это так, нам нужно будет создавать модели для всего, что нам нужно получить от API, даже если в API много методов.

Ответы [ 2 ]

0 голосов
/ 01 июня 2018

При создании большого приложения эти модели помогут вам написать код с меньшим количеством ошибок и обеспечат вам очень сильное автозаполнение повсюду.Печатания также очень полезны для того, чтобы другие разработчики, работающие над тем же проектом, могли легче понять логику вашего кода (или, по крайней мере, быстрее это выяснить).

Пример: представьте, что вы имеете дело скакое-то приложение для каталогов домашних животных (собак и кошек), собаки и кошки похожи (4 ноги, 2 глаза и т. д.), но это разные виды.В этом случае вам понадобится класс Pet и два подкласса Dog и Cat.В начале эти знания бесполезны, но с течением времени и ростом базы кода (и количества различных типов домашних животных) в какой-то момент шанс создать одного животного вместо другого начнет расти в геометрической прогрессии.Таким образом, используя машинопись, вы уменьшаете шанс сделать то, что вы не хотите делать.Вначале я был чистым человеком, как и вы, потому что все эти типы в большинстве случаев выглядели как излишества, и иглы тратят время, но по мере роста базы кода я рад, что на моей стороне TS: D

И, как сказано в ответах выше, печатные символы - это сахар из TS, а не обязательное угловое правило.

0 голосов
/ 01 июня 2018

Это не модель, а тип переменной, и это не часть angular, а часть машинописи, которую обычно использует angular.:)

Использование Restaurant[] вместо any позволяет получить выгоду от завершения, которое вводит машинопись (например, если вы используете ide с поддержкой машинописного текста, у вас будут свойства завершения для переменной).

Если вы хотите узнать больше о возможностях машинописи, ознакомьтесь с официальными документами: https://www.typescriptlang.org/docs/home.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...