我正在尝试使用 om-bootstrap 的“药丸”导航在网页中创建一个选项卡式窗口系统,方法是在单击链接时添加选项卡并在单击选项卡上的 X 按钮时删除选项卡。
我需要知道如何从全局状态/存储中添加和删除数据,并创建一个可用于声明选项卡应用程序组件的宏,并使其在不再存在时自行删除。
引用全局状态的最佳方法是什么?如何让组件在关闭时自行移除/卸载?
我正在尝试使用 om-bootstrap 的“药丸”导航在网页中创建一个选项卡式窗口系统,方法是在单击链接时添加选项卡并在单击选项卡上的 X 按钮时删除选项卡。
我需要知道如何从全局状态/存储中添加和删除数据,并创建一个可用于声明选项卡应用程序组件的宏,并使其在不再存在时自行删除。
引用全局状态的最佳方法是什么?如何让组件在关闭时自行移除/卸载?
由于删除子组件会影响其所有者,因此您应该让所有者(即“选项卡系统”)知道该选项卡需要关闭/销毁/删除。
我已经深入研究了todomvc
示例(live),假设您销毁选项卡窗格的过程与销毁 TODO 项目的过程几乎相同。到目前为止,我没有看到任何冲突。以下是我的发现:
IWillMount
) 时,a(chan)
(fromkeycore.async
处写入应用程序状态:comm
go
形式与它出现的块异步(<!
作为“有点阻塞”操作)。好吧,你可能知道,我不知道,仍在学习 CLJS 的全部内容。put!
调用comm
放在那里的事件由(2)中定义的循环处理,该循环根据type
(伴随关键字)将它们委托给适当的函数。我离 ClojureScript 专业人士还差得很远,但我正在学习。所以如果以上没有意义,这是正常的,意味着我不明白一些事情。如果事实证明是这样,让我重回正轨将不胜感激。