Андрей
так там компоненты это синтаксический сахар для пары свойств директив
Андрей
То есть сделали работу в компонентном режиме удобнее, чтобы не писать лишние строчки. А так и на директивах то же самое (компонентами пишешь), только один и тот же сахарный код дублируешь, типа не наследовать скоупы и так далее.
Serhii
Я на а2 не писал, но все в компонентах
Serhii
Или ты в чем увидел улучшения?
Андрей
Я хочу сказать что и на a1.3 можно компонентами писать, компоненты в a1.5 это синтаксический сахар для директив с определенными свойствами. Круто что ты пишешь компонентами.
Serhii
Так в чем улучшение? Только в структуре проекта?
Serhii
Выкидывание статических темплейтов и перевод всего где есть переменные во вью в компоненты?
Андрей
Андрей
где директива там функция только должна быть, которая возвращает описание, сорян
Андрей
все отличие
Serhii
Это улучшение?
Serhii
я вот какой эффект заметил - у тех, кто начал писать на ангуляре 2+ , улучшается код в angular1. Видимо, потому что он насильно заставляет все по компонентам разбивать
Андрей
Это улучшение?
мы о разных вещах похоже
Oleg
Привет! Можно ли как-то компонент параметром передать внутрь другого компонента?
Oleg
нужно передать компоненту внутрь модального окна
usernameak
хэээй
usernameak
я понял реакт
usernameak
но нихера не пойму в ангуляре
usernameak
что делать
Serhii
Делай модуль
Aleksei
в любой непонятной ситуации
Serhii
но нихера не пойму в ангуляре
Это как реакт только фреймворк а не библиотека
Oleg
ng-transclude ?
сделал через $compile
Serhii
компонент параметром передать внутрь другого компонента
Serhii
госпди
Serhii
зчм
Serhii
почему не конфигурацию с ключ - название / тип компонента и значение - темплейт
Serhii
а темплейт компонента это уже <component options="data"></component>
Serhii
хотя ладно, кто знает что у тебя за кейс
Oleg
не совсем понял как это
Serhii
ну смотри, я так понял у тебя есть разные типы данных
Serhii
и тебе по разному надо их отображать
Serhii
так?
Oleg
Да
Serhii
выходит у тебя у каждых данных есть детерминация типа - поле которое определяет их отличие так?
Serhii
значит у тебя будет 2 компонента - 1 зовется список, а второй - один айтем
Oleg
Да их много что отличает
Serhii
должно быть хотя бы поле type которое бы позволило тебе автоматизировать подстановку компонентов
Oleg
У каждого компонента своя логика и свои контроллеры
Serhii
и ты бы кормил в компонент "список" весь массив обьектов, а список в зависимости от типа в ng-repeat подставлял урл на темплейт
Oleg
И есть parent внутрь которого этот компонент и нужно передать
Oleg
ну да, 1 вариант это делать урл с темплейтом, тогда вообще можно инклюдом закинуть
Oleg
но тогда я внутрь этого компонента ничего не передам
Serhii
используя одну переменную const TEMPLATES = { stringComponent: '$template', selectComponent: '$template' } ты бы писал ng-include="TEMPLATES[item.type]"
Serhii
хотя через инклуд так себе, тебе же нужно передать в него данные. тут разве что тогда в темплейт не урл давать а сразу писать <component data="item">
Serhii
ну да, разве что через compile
Oleg
ну вот, я и сделал через compile )
Serhii
только в конфиг вынеси
Serhii
без конфига заебешься потом менять что либо, а так через одну переменную
Anonymous
Друзья, собрал в одном месте 132 чата для программистов - @Chats_Developers. Пользуйтесь на здоровье.
Serhii
конечно можно было насерить всех компонентов с ng-if="item.type"
Serhii
но это то же только с другой стороны
Serhii
это this.state, только в темплейте присвоен
usernameak
А щто такое view
Serhii
где именно
Serhii
контекст мне передай
usernameak
Вобще
Serhii
ммм
Serhii
считай это темплейтом к которому привязан обьект $scope и которым управляет привязаный к нему контроллер или даже без него
Serhii
а ты начал читать документацию что ли?
Aleksei
Г-да, а есть тру-вей как писать компоненты на ts под ng 1.5 ? писал ли кто-нибудь?
Serhii
на тс..
Aleksei
примерную структуру можешь накидать?
Serhii
ничего не истинно, все на ангуляре дозволено
Oleg
примерную структуру можешь накидать?
Я использую декоратор - что делает компонент хоть немного приблеженным к нг2 export const Component = function(options: ng.IComponentOptions): Function { return (controller: Function) => { return angular.extend(options, {controller}); }; };
Serhii
главное чтобы можно было выпилить в любой момент
Vlad
примерную структуру можешь накидать?
https://gist.github.com/vladb95/aa607abde9adfa12f5cf0716b18e79a2
Oleg
import {Component} from '../../core/core.decorators'; @Component({ bindings: { prop: '<' }, template: `<p> testststst </p>` }) export class TestComponent { prop: string; constructor() { console.log('test'); } }
Vlad
тоже статическое поле, потом создаешь одноименные поля в контроллере
Oleg
/core/core.decorators - а эт чё?
путь к файлу где лежит декоратор
Aleksei
аа