Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Ангуляр2. Можно ли отслеживать изменение сущности, без необходимости объявлять ее какInput
|
|||
|---|---|---|---|
|
#18+
Если объявить переменную как @Input для компонента, то Ангуляр будет отслеживать ее изменения и генерить OnChange у компонента. Тут все ок. Но можно ли обойтись без необходимости выводить переменную в Input ? Нужно, чтобы сам компонент мог прослушивать нужную ему глобальную переменную, а не зависить от того, что ему ее передадут через Input. Вдруг не ту передадут вообще, да и странно в этой задаче полагаться на другие компоненты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.05.2017, 11:08 |
|
||
|
Ангуляр2. Можно ли отслеживать изменение сущности, без необходимости объявлять ее какInput
|
|||
|---|---|---|---|
|
#18+
TsHeloWorlderВдруг не ту передадут вообще, да и странно в этой задаче полагаться на другие компоненты. так и не сказал причину. Почему вдруг и почему странно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.05.2017, 12:10 |
|
||
|
Ангуляр2. Можно ли отслеживать изменение сущности, без необходимости объявлять ее какInput
|
|||
|---|---|---|---|
|
#18+
TsHeloWorlderЕсли объявить переменную как @Input для компонента, то Ангуляр будет отслеживать ее изменения и генерить OnChange у компонента. Тут все ок. Но можно ли обойтись без необходимости выводить переменную в Input ? Нужно, чтобы сам компонент мог прослушивать нужную ему глобальную переменную, а не зависить от того, что ему ее передадут через Input. Вдруг не ту передадут вообще, да и странно в этой задаче полагаться на другие компоненты. Input - это своего рода "коннектор" для передачи сущности из родительского компонента - в дочерний. На этом его роль заканчивается. Для глобальных переменных обычно используют такие штуки как сервисы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.05.2017, 13:26 |
|
||
|
Ангуляр2. Можно ли отслеживать изменение сущности, без необходимости объявлять ее какInput
|
|||
|---|---|---|---|
|
#18+
Агнец за бортомДля глобальных переменных обычно используют такие штуки как сервисы. а прослушивать изменения этих глобальных переменных как ? ну вот изменилась там глобальная дата, как компоненту это отследить и перерисовать ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.05.2017, 13:55 |
|
||
|
Ангуляр2. Можно ли отслеживать изменение сущности, без необходимости объявлять ее какInput
|
|||
|---|---|---|---|
|
#18+
TsHeloWorlderнужную ему глобальную переменную https://www.google.ru/search?q=angular global variable&ie=utf-8&oe=utf-8&channel=fs&gws_rd=cr,ssl&ei=vmkIWcKtLYGa6ASm5rOoBA хотя бы пару ответов читали? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.05.2017, 14:10 |
|
||
|
Ангуляр2. Можно ли отслеживать изменение сущности, без необходимости объявлять ее какInput
|
|||
|---|---|---|---|
|
#18+
Petro123, Тогда уж лучше так :) https://www.google.ru/search?q=angular global variable&ie=utf-8&oe=utf-8&channel=fs&gws_rd=cr,ssl&ei=vmkIWcKtLYGa6ASm5rOoBA#newwindow=1&q=angular 2 global variable ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.05.2017, 14:14 |
|
||
|
Ангуляр2. Можно ли отслеживать изменение сущности, без необходимости объявлять ее какInput
|
|||
|---|---|---|---|
|
#18+
Petro123, Однако, каким образом мне поможет чтение того, как создавать глобальные переменных и прослушивание их изменений ? Мне то нужно отслеживать их изменения - создавать я их уже научился :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.05.2017, 14:16 |
|
||
|
Ангуляр2. Можно ли отслеживать изменение сущности, без необходимости объявлять ее какInput
|
|||
|---|---|---|---|
|
#18+
TsHeloWorlderкак создавать глобальные переменны мы вроде решили что НЕ ПЕРЕМЕННЫЕ Типа так? Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.05.2017, 14:19 |
|
||
|
Ангуляр2. Можно ли отслеживать изменение сущности, без необходимости объявлять ее какInput
|
|||
|---|---|---|---|
|
#18+
Petro123, Это отличная мысль. Это и решает мою проблему. Т.е. используем не просто number а Observable. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.05.2017, 14:37 |
|
||
|
Ангуляр2. Можно ли отслеживать изменение сущности, без необходимости объявлять ее какInput
|
|||
|---|---|---|---|
|
#18+
TsHeloWorlderPetro123, Это отличная мысль. Это и решает мою проблему. Т.е. используем не просто number а Observable. Спасибо. O_O ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.05.2017, 16:11 |
|
||
|
Ангуляр2. Можно ли отслеживать изменение сущности, без необходимости объявлять ее какInput
|
|||
|---|---|---|---|
|
#18+
Petro123TsHeloWorlderкак создавать глобальные переменны мы вроде решили что НЕ ПЕРЕМЕННЫЕ Типа так? Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Боги... Код: sql 1. 2. 3. 4. 5. 6. Вот этого достаточно. ))))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.05.2017, 22:15 |
|
||
|
Ангуляр2. Можно ли отслеживать изменение сущности, без необходимости объявлять ее какInput
|
|||
|---|---|---|---|
|
#18+
Агнец за бортом, С чего бы достаточно ? Задача была в том, чтобы отслеживать изменения переменной. Для этого нужен Observable. Как ваше решение решает эту задачу, как я могу сделать так, чтобы компонент перерисовал себя при изменении переменной ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2017, 11:03 |
|
||
|
Ангуляр2. Можно ли отслеживать изменение сущности, без необходимости объявлять ее какInput
|
|||
|---|---|---|---|
|
#18+
TsHeloWorlderАгнец за бортом, Для этого нужен Observable. Ага. Два Observable. Второй - страхует. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2017, 11:18 |
|
||
|
Ангуляр2. Можно ли отслеживать изменение сущности, без необходимости объявлять ее какInput
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2017, 12:29 |
|
||
|
Ангуляр2. Можно ли отслеживать изменение сущности, без необходимости объявлять ее какInput
|
|||
|---|---|---|---|
|
#18+
Агнец за бортом, Ссылка на какой-то гугловый запрос, где большинство ответов относятся к AngularJs, мне ничего не сказала. В общем задачу я уже решил, так, что не важно ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2017, 15:41 |
|
||
|
Ангуляр2. Можно ли отслеживать изменение сущности, без необходимости объявлять ее какInput
|
|||
|---|---|---|---|
|
#18+
TsHeloWorlderАгнец за бортом, Ссылка на какой-то гугловый запрос, где большинство ответов относятся к AngularJs, мне ничего не сказала. В общем задачу я уже решил, так, что не важно ) Ну ты и привереда. Вот спецово для тебя ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2017, 17:17 |
|
||
|
Ангуляр2. Можно ли отслеживать изменение сущности, без необходимости объявлять ее какInput
|
|||
|---|---|---|---|
|
#18+
TsHeloWorlderАгнец за бортомДля глобальных переменных обычно используют такие штуки как сервисы. а прослушивать изменения этих глобальных переменных как ? ну вот изменилась там глобальная дата, как компоненту это отследить и перерисовать ? Ничем не отличается от первого ангуляра. В ангуляре есть "правило точки", ссылку на которое я тебе и дал. Оно гласит - если ты привязываешься к переменной не через точку, значит ты делаешь что-то не то. Касаемо глобальных переменных. Ты создаешь сервис (создаешь = описываешь), на уровне, скажем, всего приложения. Этот сервис содержит твою "глобальную переменную", как поле класса. Код: javascript 1. 2. 3. 4. 5. 6. В конструкторе класса компонента ты инжектишь этот сервис и присваиваешь этот сервис полю класса компонента. Код: javascript 1. При такой записи - автоматом создается поле refService у твоего класса. А далее в компоненте ты привязываешься не так: {{currentUser}} а так {{refService.currentUser}} И тогда - при изменении currentUser изменится и изображение твоего компонента. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2017, 17:29 |
|
||
|
Ангуляр2. Можно ли отслеживать изменение сущности, без необходимости объявлять ее какInput
|
|||
|---|---|---|---|
|
#18+
ага. Так понятно. Хороший совет, не создавать полностью глобальных переменных, только в составе класса. В этом случае это тестируемо. В принципе это я и так знаю - глобальные переменные это зло. Также как и синглтоны. Их сложно тестировать, их сложно мокать. Однако, хочу вас предупредить, что во втором Ангуляре этот подход не так хорошо работает. В Ангуляре 2 можно в любом компоненте заявить новый провайдер для класса, и тогда будет создан новый инстанс, а не использован глобальный. Что хуже это может сделать вышележащий компонент, и тогда наш компонент получит родительский Dependency Injector, даже не подозревая, что это не глобальный класс, а персональный инстанс родителя ! https://angular.io/docs/ts/latest/guide/hierarchical-dependency-injection.html А насчет Observable. Решение с ними лучше чем просто вывод сторонней переменной, т.к. можно прикрутить логику обработки этой переменной. Не бездумно ее вывести на экран, а, к примеру, провалидировать, изменить и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2017, 10:52 |
|
||
|
Ангуляр2. Можно ли отслеживать изменение сущности, без необходимости объявлять ее какInput
|
|||
|---|---|---|---|
|
#18+
TsHeloWorlderага. Так понятно. Хороший совет, не создавать полностью глобальных переменных, только в составе класса. В этом случае это тестируемо. В принципе это я и так знаю - глобальные переменные это зло. Также как и синглтоны. Их сложно тестировать, их сложно мокать. У тебя каша в голове. Глобальные переменные, синглтоны, зло какое-то. Ты понял что такое dot rule? TsHeloWorlderОднако, хочу вас предупредить, что во втором Ангуляре этот подход не так хорошо работает. В Ангуляре 2 можно в любом компоненте заявить новый провайдер для класса, и тогда будет создан новый инстанс, а не использован глобальный. Так объяви сервис на уровне приложения, в чем проблема? TsHeloWorlderА насчет Observable. Решение с ними лучше чем просто вывод сторонней переменной, т.к. можно прикрутить логику обработки этой переменной. Не бездумно ее вывести на экран, а, к примеру, провалидировать, изменить и т.д. О Боги. Открой для себя геттеры и сеттеры. И если ты так проникся rx - то она реализована для многих языков. "Решение с ним лучше". )))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2017, 11:15 |
|
||
|
Ангуляр2. Можно ли отслеживать изменение сущности, без необходимости объявлять ее какInput
|
|||
|---|---|---|---|
|
#18+
Агнец за бортом, dot rule - требование не использовать глобальные переменные, а только переменные в составе другого класса. Грубо говоря создание класса со списком констант, и этот класс нужно уже передавать. Что позволяет в тестах создать один класс (с заданными константами), а в продакшене совсем другой. Что я не правильно понял, где каша ? "Так объяви сервис на уровне приложения, в чем проблема?". Вы в курсе, что если объявить компонент так: Код: html 1. 2. 3. 4. 5. то в компонент придет сервис VillainsService никак не связанный с тем, что объявлен на уровне приложения ? Проблема в этом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2017, 11:42 |
|
||
|
Ангуляр2. Можно ли отслеживать изменение сущности, без необходимости объявлять ее какInput
|
|||
|---|---|---|---|
|
#18+
Angular has a Hierarchical Dependency Injection system. There is actually a tree of injectors that parallel an application's component tree. You can reconfigure the injectors at any level of that component tree. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2017, 11:45 |
|
||
|
|

start [/forum/topic.php?fid=22&msg=39448896&tid=1444629]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
221ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
60ms |
get tp. blocked users: |
2ms |
| others: | 317ms |
| total: | 648ms |

| 0 / 0 |
