Ну вот и у меня возник первый вопрос по Lightning Component. К счастью, он не "боевой", а связан с учебным заданием.
Вообще то говоря разработка под Lightning такая специфическая и самостоятельная тема, что хоть запиливай на форуме отдельный раздел.
сейчас есть немного времени, и я очень старательно и внимательно изучаю вот этот трейлхед модуль:
https://trailhead.salesforce.com/content/learn/modules/lex_dev_lc_basics
очень приличный по объему модуль, самый крупный из всех что я проходил, его оригинальная (и более расширенная) версия - это книжка Lightning Component Developer Guide - сопоставим по объему материала со старым обучающим мануалом по созданию приложения для HR отдела, которой мы здесь время от времени вспоминаем.
С самим модулем проблем нет. Там запиливается компонент, вставляется в Лайтнинг Апп контейнер, и из Дев Консоли открывается нажатием кнопки PREVIEW как самостоятельное приложение. Все работает.
Но для удобства я решил создать для компонента Lightning Component Tab, чтобы добавить его к уже существующим в LUX приложениям (Apps) как отдельный Tab и таким образом работать с компонентом. И все нормально, пока не нажимаешь на кнопку вызывающую clickCreate "метод" в JS контроллере компонента и не получаешь ошибку:
ReferenceError: Action failed: c:expenses$controller$clickCreate [action is not defined]
"метод" clickCreate совершенно точно существует и работает, если запустить этот компонент как отдельное приложение. Но когда он ранится в LUX (one.app контейнере - как они это называют), то к нему нет доступа. И поди пойми почему так!
Ну вот и у меня возник первый вопрос по Lightning Component. К счастью, он не "боевой", а связан с учебным заданием. Вообще то говоря разработка под Lightning такая специфическая и самостоятельная тема, что хоть запиливай на форуме отдельный раздел. сейчас есть немного времени, и я очень старательно и внимательно изучаю вот этот трейлхед модуль: https://trailhead.salesforce.com/content/learn/modules/lex_dev_lc_basics очень приличный по объему модуль, самый крупный из всех что я проходил, его оригинальная (и более расширенная) версия - это книжка Lightning Component Developer Guide - сопоставим по объему материала со старым обучающим мануалом по созданию приложения для HR отдела, которой мы здесь время от времени вспоминаем. С самим модулем проблем нет. Там запиливается компонент, вставляется в Лайтнинг Апп контейнер, и из Дев Консоли открывается нажатием кнопки PREVIEW как самостоятельное приложение. Все работает. Но для удобства я решил создать для компонента Lightning Component Tab, чтобы добавить его к уже существующим в LUX приложениям (Apps) как отдельный Tab и таким образом работать с компонентом. И все нормально, пока не нажимаешь на кнопку вызывающую clickCreate "метод" в JS контроллере компонента и не получаешь ошибку: ReferenceError: Action failed: c:expenses$controller$clickCreate [action is not defined] "метод" clickCreate совершенно точно существует и работает, если запустить этот компонент как отдельное приложение. Но когда он ранится в LUX (one.app контейнере - как они это называют), то к нему нет доступа. И поди пойми почему так!
Пожалуйста. Создал новый раздели и переместил эту тему Пользуйся!
[quote="Den Brown"]Вообще то говоря разработка под Lightning такая специфическая и самостоятельная тема, что хоть запиливай на форуме отдельный раздел.[/quote] Пожалуйста. Создал новый раздели и переместил эту тему :) Пользуйся!
Так, а почему метод не доступен?
По ошибке очевидно, что переменная "action" в методе "clickCreate" "is not defined".
Предполагаю, что либо в компоненте не определен контроллер, либо названия апекс метода достаеться не правильно, либо такого метода нет в контроллере (апекс), либо он не @AuraEnabled.
Так, а почему метод не доступен? По ошибке очевидно, что переменная "action" в методе "clickCreate" "is not defined". Предполагаю, что либо в компоненте не определен контроллер, либо названия апекс метода достаеться не правильно, либо такого метода нет в контроллере (апекс), либо он не @AuraEnabled.
весь код скопирован с задания. и он прекрасно работает (все в нем есть что описано выше) если запускать этот компонент внутри отдельного приложения.
но внутри ЛайтКомп Таба он кидает ошибку. Использование компонента как ЛайтКомп Таба не является частью задания, поэтому никаких догадок почему так происходит у меня нет
[quote="camamber"]Так, а почему метод не доступен? [/quote] весь код скопирован с задания. и он прекрасно работает (все в нем есть что описано выше) если запускать этот компонент внутри отдельного приложения. но внутри ЛайтКомп Таба он кидает ошибку. Использование компонента как ЛайтКомп Таба не является частью задания, поэтому никаких догадок почему так происходит у меня нет
они только что переименовали тот модуль:
https://trailhead.salesforce.com/content/learn/modules/lex_dev_lc_basics
с Lightning Component Basic
на
Aura Components Basics
к чему бы это?
они только что переименовали тот модуль: https://trailhead.salesforce.com/content/learn/modules/lex_dev_lc_basics с [b]Lightning[/b] Component Basic на [b]Aura[/b] Components Basics к чему бы это?
https://trailhead.salesforce.com/content/learn/modules/lex_dev_lc_basics
с Lightning Component Basic
на
Aura Components Basics
к чему бы это?
Потому что в феврале будет Lightning Web Components - чтобы не путали
[quote="Den Brown"]они только что переименовали тот модуль: https://trailhead.salesforce.com/content/learn/modules/lex_dev_lc_basics с [b]Lightning[/b] Component Basic на [b]Aura[/b] Components Basics к чему бы это?[/quote] Потому что в феврале будет Lightning Web Components - чтобы не путали
Вот так я и подумал, что переименовать с горделивых Lightning Component на "да-это-всего-лишь-Aura" Components их могло только что-то очень значительное, как например переход на новый стандарт Web Component-ной разработки!
так что получается, что "старые" Lightning Component-ы - это уже легаси и велосипедо-изобретательство?
https://developer.salesforce.com/docs/component-library/documentation/lwc/lwc.interop_intro
нормально так?
вот какой-то супер-поверхностный трейлхед модуль для входа в тему:
https://trailhead.salesforce.com/en/content/learn/projects/quick-start-lightning-web-components
так там все три темы-заглавия - что-то совершенно новое для меня. Мне одному уже становится "страшно жить"?
[quote="Maxim Elets"]Потому что в феврале будет Lightning Web Components - чтобы не путали[/quote] Вот так я и подумал, что переименовать с горделивых Lightning Component на "да-это-всего-лишь-Aura" Components их могло только что-то очень значительное, как например переход на новый стандарт Web Component-ной разработки! так что получается, что "старые" Lightning Component-ы - это уже легаси и велосипедо-изобретательство? :D [quote]You can write new Lightning web components and add them to apps that contain Aura components. Or, you can [b]iteratively migrate[/b] on your schedule by [b]replacing individual Aura components[/b] in your app with Lightning web component[/quote] https://developer.salesforce.com/docs/component-library/documentation/lwc/lwc.interop_intro нормально так? вот какой-то супер-поверхностный трейлхед модуль для входа в тему: https://trailhead.salesforce.com/en/content/learn/projects/quick-start-lightning-web-components так там все три темы-заглавия - что-то совершенно новое для меня. Мне одному уже становится "страшно жить"?