Полимер 2 дефинира глобални променливи

Наскоро започнах да работя с Polymer 2.0 и досега съм влюбен в него. Свикнал съм с Angular в комбинация с typescript и ми хареса колко лесно беше да се дефинират глобални променливи.

Желан резултат: Да кажем, че имам променлива с име: „Потребителско име“ в страницата за вход. Променливото потребителско име в момента е "Гост", така че в моята страница за добре дошли имам съобщението "Здравей, Гост!". Потребителското име в страницата за вход се променя от guest => not-a-guest Страницата за добре дошли вече казва: Здравейте, не-гост!“.

Има ли начин да направите това, без да предавате променлива като ? Тъй като всеки път, когато искам да използвам свойството потребителско име, сега трябва да предам потребителското име, както по-горе. (така че, ако ми трябва потребителското име в дъщерен компонент на дъщерен компонент, сега трябва да предам потребителското име и на всички родители). Сега, разбира се, става дума за потребител, така че в този случай localstorage/sessionstorage би било добре, но това е само пример. Бих искал да използвам глобалното дефиниране за нещо друго и запазването му в localstorage не би било идеално.

Намерих много решения на Polymer 1, но бих се радвал моето приложение да е в пълен Polymer 2.0.

Благодаря много!


person Siebren K.    schedule 25.10.2017    source източник


Отговори (3)


Реших и сам направих уеб компонент. употреба:

// Login component
// Define global variable
<brum-global-var key="username" value="{{username}}"></global-variable>

// welcome-page 
// Use global variable
<brum-global-var key="username" value="{{username}}" readonly></global-variable>
person Siebren K.    schedule 25.10.2017

Една от възможностите би била да използвате клас mixin и да го разширите във всеки компонент, от който се нуждаете. Прочетете повече тук.

person Arnau    schedule 25.10.2017

Има елемента iron-meta, който може да се използва за правете точно това, което сте създали.

person Caribouflex    schedule 26.10.2017