• Различные способы передачи данных в компоненты Angular

    Привет, Хабр! Представляю вашему вниманию перевод статьи «Different Ways to Pass Inputs to a Component in Angular» автора Netanel Basal.

    image

    В этой статье, мы разберём три разных способа передачи данных в компонент. В следующем примере мы будем использовать select как главный компонент, но методы, используемые в нём релевантны и в других компонентах.

    Создадим компонент select, который получает следующие входные данные — size и placement.

    Использование Inputs


    Первый метод, с которым мы все знакомы — использование декорантора Input.

    @Component({
      selector: 'app-select',
      template: `
        <p><b>Size</b> {{ size }}</p>
        <p><b>Placement:</b> {{ placement }}</p>    
        `
    })
    export class SelectComponent {
      @Input() size: 'sm' | 'md' | 'lg' = 'md';
      @Input() placement: 'top' | 'bottom' | 'right' | 'left'  = 'bottom'
    }
    

    И этот код отлично работает, за исключением того, что он не такой гибкий. Например нам нужно задать переменной size значение large для любого select в нашем приложении. Таким образом мы должны разрешить клиетну переписать любой input на глобальном уровне.

    Использование зависимости Injection


    Для этого мы можем использовать функцию внедрения зависимостей Angular.

    import { InjectionToken, Injectable } from '@angular/core';
    
    @Injectable({ providedIn: 'root' })
    export class SelectConfig {
      size: 'sm' | 'md' | 'lg' = 'md'
      placement: 'top' | 'bottom' | 'right' | 'left' = 'bottom';
    }
    
    export function setSelectConfig(config: Partial<SelectConfig>) {
      return {
        ...new SelectConfig(),
        ...config
      }
    }
    

    Для начала нам нужно создать конфигурацию провайдера. Этот провайдер может быть использован как token, type, а также задавать значения по умолчанию для каждого input. Используем это в нашем компоненте select:
    Читать дальше →
  • Компания National Instruments выпустила бесплатные LabVIEW 2020 и NXG 5.0 Community Edition

      Здравствуйте, коллеги!

      В конце апреля произошло событие, которого так ждали поклонники рисования кода мышкой: компания National Instruments наконец-то выпустила бесплатную редакцию своей системы графического программирования — LabVIEW Community Edition.

      image

      Название перекликается с Visual Studio Community, но в отличие от Студии среда разработки LabVIEW абсолютно бесплатна лишь для некоммерческих проектов, и для обучения в школах (для ВУЗов потребуется Academic Site License).

      Ну а теперь все желающие могут приобщиться к увлекательному миру графического программирования, скачать LabVIEW и играть с ней так долго, насколько хватит желания (и терпения).
      Читать дальше →
    • Google I/O Extended 2016

        Привет, хабр! 18-20 мая 2016 года в Маунтин Вью, Калифорния, пройдет юбилейная, десятая по счету конференция Google I/O, посвященная самым актуальным передовым трендам в технологиях и программном обеспечении от Google.



        Лететь через пол мира на одну конференцию — удовольствие то ещё, да и если всех желающих собрать — никаких конференц-холлов не хватит. Поэтому мы рады вам сообщить, что Google I/O будет проходить и в самых крупных городах России.

        Google I/O Extended — уникальная возможность стать участником одного из самых крупных слётов любителей Google-технологий. Всё будет происходить в онлайн-режиме, так что вы сможете вместе с представителями GDG в Маунтин Вью наблюдать за ежегодной презентацией самых крутых новинок в IT мире! Сейчас I/O Extended включает более 550 ивентов в 94 странах на 6 континентах и охватывает всю планету.

        Читать дальше →