Как создать gmail как общую панель управления в Canjs?
Например, мы делаем клон Gmail в canjs. Рассмотрим каждый элемент на боковой панели, отображаемый с собственным компонентом. Теперь мне нужна одна панель управления, такая же, как в gmail, для управления действиями внутри компонентов.
Как мне к этому подойти???
В настоящее время я смотрю на событие изменения localStorage, есть ли лучшее решение для этого???
1 ответ
Я бы порекомендовал использовать карту Appstate или компонент уровня страницы, который содержит состояние для функций панели инструментов. Если вы используете appstate, вы можете использовать can.route.map, чтобы связать определенные функции Map appstate с маршрутом, чтобы состояние вашего приложения можно было контролировать по URL. page
Атрибут, например, будет управлять тем, какая главная страница будет отображаться (скажем, список сообщений или список контактов). Затем вы можете прослушать определенные значения страницы в вашем шаблоне stache, чтобы переключиться на отображение правильной страницы. Этот фрагмент будет показывать список сообщений всякий раз, когда атрибутом страницы в appstate является 'messages': {{#is appstate.page 'messages}}<message-list></message-list>{{/is}}
Если бы у вас было больше подробностей о том, какую функцию сложнее всего понять, как реализовать, я мог бы дать более конкретный совет.