@angular_js

Страница 29 из 325
? ethorz
25.07.2016
12:48:58
чем оф. апи

Sergey
25.07.2016
12:49:14
библия ангулярщика

? ethorz
25.07.2016
12:49:29
сенкс

Google
kaflan
25.07.2016
13:01:09
ng-book есть более новее чем 2013,

по 1.3-1.5

Vitaliy
25.07.2016
13:29:41
недавно тут по ng2 кидали ссыль

если надо могу скинуть

Anthony
25.07.2016
13:36:34
Все книги можно найти в разделе "Документы" этого чата

Denis
25.07.2016
13:38:28
Ребят, есть вопрос, как лучше всего делать связь между компонентами (допустим я в одном компоненте меняю параметры объекта чекбоксами, а во втором компоненте у меня кнопка, при нажатии на которую эти параметры заменяют параметры объекта)

Vitaliy
25.07.2016
13:38:31
ну тем более тогда :)

в ng2 для этого @Input() @Output() используется

Denis
25.07.2016
13:39:27
Да, но компоненты соседние

Vitaliy
25.07.2016
13:39:47
значит через родительский

Denis
25.07.2016
13:39:47
Т.е. мне нужно в родителя, а потом во второй?

Vitaliy
25.07.2016
13:39:54
да

Denis
25.07.2016
13:40:19
А сервисом это реализовать как-то можно?

Google
Vitaliy
25.07.2016
13:40:42
можно - глобальные евенты типа ))

это ж просто, издание / подписка

но, глобальные - это не хорошо

Denis
25.07.2016
13:42:34
Ну, а сервисом, но не глобально. Подключить к двум компонентам и связать, так нельзя?

Дмитрий d
25.07.2016
13:43:15
повторюсь ещё раз, попробую сформулировать иначе) чат, есть селектлист, в нём несколько объектов, разделённых по признаку true/false. Я выбираю один, настраиваю, выбираю следующий - происходит сохранение предыдущего, и признак изменяется с false на true. А в селектлисте выбирается следующий объект (не тот, что я выбрал, а следующий!). Автоназначение выбранного элемента не помогает. Что можно сделать ещё? Как-то можно сделать так, чтобы angular не выбирал сам значения в селектлисте?

Denis
25.07.2016
13:43:20
Просто как-то грязно выходит через родителя

Vitaliy
25.07.2016
13:43:26
можно, просто внутри сервиса синглтон будет, да можно как угодно)

Denis
25.07.2016
13:44:11
А что такое синглтон??

Vitaliy
25.07.2016
13:45:01
ну почему, у Вас родитель хранит данные и пробрасывает через пропсы данные дочерним, хотите поменять данные делайте как аля в redux, евент пробрасывайте наверх для изменения стора

))) ну синглтон - это у Вас один объект создается, который шарит подписку, на observables

yfghbvth

например

Denis
25.07.2016
13:47:30
Спасибо за ответ, нужно попробовать. А как лучше делать, через сервисы или перебрасывать через родителя?

Просто я сделал через родителя, но мне кажется это немного не чисто

Vitaliy
25.07.2016
13:48:10
import {EventEmitter, Injectable} from 'angular2/core'; export interface IEmitData { key: string; data: any; who?: string; } @Injectable() export class EventService implements IEventService { private emitter: EventEmitter<IEmitData>; constructor(){ this.emitter = new EventEmitter<IEmitData?true); } emit(data: IEmitData){ this.emitter.emit(data); } subscribe(key: string, callback: (data: any)=>void): any { return this.emitter.subscribe((i) => { var d = <IEmitData>i; if (key != d.key) return; callback(d.data); }); } }

export interface IEventService { emit(data: IEmitData); subscribe(key: string, callback: (data: any)=>void); }

когда давно писал) вот - EventService ижектите в буутстрап

и все потом в компонентамх можете через emit({...}) инициировать событие а гдето подписаться на него subscribe({...}) просто по ключу

строковый ключ

Denis
25.07.2016
13:51:18
Интересно, попробую) Спасибо

Google
Denis
25.07.2016
13:52:15
А есть работающий пример в опенсорсе?

Vitaliy
25.07.2016
13:52:24
не забывать главное отписываться когда компонент уничтожается

Denis
25.07.2016
13:52:52
А это как?

Молодой еще?

Vitaliy
25.07.2016
13:53:29
ну у ангулара же есть жизненные циклы компонентов, ngOnDestroy

например и там прописать unsubscribe

github.com/iwnow/ng2test

вот тут что то было у меня)

ng2test/app/source/browser/ts/services/

там как пример - изменение языка на сайте чере зэтот сервис, у всех компонентов подписка на событие изменения языка

и отписка есть соответсвенно

browser/ts/components/login.ts

например, ngOnInit() и ngOnDestroy() посмотрите

Yung
25.07.2016
21:40:41
Котаны, есть какой-нибудь адекватный способ получения данных из дочерней компоненты? Ну они же вроде изолированы, все дела. У меня тут костыль такой, есть две компоненты, в родительской сорт оф враппер для сабмита формы, в нее подключается дочерняя с редактором текста. Проблема в том, что данные с дочерней держит в себе контроллер, постоянно подгружает через директиву на on change копаясь в ДОМе. Карочи, данные есть в переменной в контроллере, их надо оттуда получать в родительскую чтобы засабмитить форму, но я чет ниасилил как это сделать лучше, потому как вроде прямого обращения к дочерней или родительской компоненте не завезли (или завезли?)

? ethorz
26.07.2016
07:37:22
я не очень понял, обычные джейкверные методы в библиотеке нет?

у ангуляра 1

типа .find, .addClass

Дмитрий
26.07.2016
07:38:15
я не очень понял, обычные джейкверные методы в библиотеке нет?
Есть, но не все и с ограничениями (потому что это поперек идеологии ангуляра) jqLite называется

Google
Дмитрий
26.07.2016
07:38:35
Работает через element в link спокойно, например

? ethorz
26.07.2016
07:38:45
про jqLite слышал, то бишь урезанный jquery как я понимаю?

т.е.

Дмитрий
26.07.2016
07:39:10
Ага. find только по тегу и всё в таком духе

? ethorz
26.07.2016
07:39:16
возможности jq только чуть под ангуляр запилен

понял

спасибо

не очень хочется плодить воду, хотелось вообще отказаться от jq

Дмитрий
26.07.2016
07:43:46
jqLite на первое время хватит https://docs.angularjs.org/api/ng/function/angular.element но по идее надо всё в итоге с переменными и прочим ангуляровским добром переписать

? ethorz
26.07.2016
07:45:19
я щитаю для небольшого проекта, а точнее где нет анимаций джейкверных

то этого достаточно будет

Andrei
26.07.2016
08:07:28
Всем привет! Как вы организовывате css в своих проектах на первом Angular? Поделитесь опытом. Есть такие, кто в темплейтах через syle стили пишет?

? ethorz
26.07.2016
08:08:15
привет, а зачем?

в чем проблема писать на less? :)

хотя зависит от проекта)

Михаил
26.07.2016
08:12:41
Всем привет! Как вы организовывате css в своих проектах на первом Angular? Поделитесь опытом. Есть такие, кто в темплейтах через syle стили пишет?
модуль/компонент/компонент.js модуль/компонент/компонент.html модуль/компонент/компонент.css|.less|.styl...

Мне такая схема больше всего по душе

Andrei
26.07.2016
08:13:26
привет, а зачем?
Просто сейчас сесть желание разбить ui на компоненты, чтобы потом было проще перейти на 1.5 и в перспективе на 2. Если для каждого компонента добавлять свой файлик стилей в отдельную папку css, то потом трудно с ними рабоать, хочется, чтобы стили лежали рядом с компонентом (у меня это директивы пока).

? ethorz
26.07.2016
08:14:08
а, ну по сути это по логике БЭМ

*методологии

Google
Михаил
26.07.2016
08:14:50
Разбивать по "технологиям" - старый добрый способ, но на больших проектах начинаешь сильно путаться. Лучше по "смыслу", чтобы рядом лежали все файлы, относящиеся к данному функционалу.

Andrei
26.07.2016
08:15:17
модуль/компонент/компонент.js модуль/компонент/компонент.html модуль/компонент/компонент.css|.less|.styl...
А общие для всего сайта стили где лежат? B еще вопрос, как в таком случае делать сборку css в один файл? Они ведь не по порядку будут склеиваться

Михаил
26.07.2016
08:16:40
Общие где-нибудь в модуль/!/common.css А на порядок плевать при использовании БЭМ, например.

Дмитрий
26.07.2016
08:16:50
Просто сейчас сесть желание разбить ui на компоненты, чтобы потом было проще перейти на 1.5 и в перспективе на 2. Если для каждого компонента добавлять свой файлик стилей в отдельную папку css, то потом трудно с ними рабоать, хочется, чтобы стили лежали рядом с компонентом (у меня это директивы пока).
Это не единственный метод организации css. Я разбиваю не по компонентам, а по категории применения. Сетка, типографика, тема, блоки и т.д. Сейчас постараюсь статью по методологиям найти, выберешь подходящую. Потому что не БЭМом единым

Andrei
26.07.2016
08:17:41
Ок, всем спасибо за ответы

Михаил
26.07.2016
08:17:45
Не БЭМом единым, конечно, но он хорошо укладывается в "компонентный" подход, который сейчас везде в моде

Дмитрий
26.07.2016
08:19:34
Ок, всем спасибо за ответы
http://frontender.info/organizing-your-css-code-for-preprocessors/

Anthony
26.07.2016
12:33:12
А конкретнее?
Тут случайно наткнулся на пример из ng-book2 В одном файле несколько компонентов https://github.com/rmallols/ng-book2/tree/master/rxjs/chat/app/ts/components

Sergey
26.07.2016
12:35:21
Тут случайно наткнулся на пример из ng-book2 В одном файле несколько компонентов https://github.com/rmallols/ng-book2/tree/master/rxjs/chat/app/ts/components
Это лажа во-первых старая - @View давно выпилили, во-вторых можно вообще весь код в одном файле написать - никто не мешает. Вопрос был в нескольких @Component на один класс, чего не может быть в принципе

Anthony
26.07.2016
12:35:39
А, ну так-то да

Sergey
26.07.2016
12:37:47
Ну так да, вопрос был в переиспользовании кода - твоего кода в классе - например с 2мя разными view. Сейчас нет нормального решения на сколько я знаю.

Anthony
26.07.2016
12:44:06
Я бы решал такое простым наследованием

ну то есть ты всю логику выносишь в родительский класс, а в дочерних просто прописываешь шаблоны

Sergey
26.07.2016
12:46:12
Наследование - это очень плохой путь

И это вкорне не отвечает задаче приложения - я так считаю

Страница 29 из 325