我为我的应用程序定义了几个面板,如下所示:
(defmulti panels identity)
(defmethod panels :panel1 [] [panel1])
(defmethod panels :panel2 [] [panel2])
(defmethod panels :panel3 [] [panel3])
我可以在客户端使用 bidi+pushy 推送路由,例如 /panel1-uri 当事件(在本例中为单击)发生时,并使用调度更改面板。但是当我直接通过浏览器访问 localhost:5000/panel1-uri 时,这不起作用,因为 /panel1-uri 路由在服务器中不存在。
所以我在我的服务器 /panel1-uri 中创建了一个路由,它只为 index.html 提供服务,并在该路由响应的标题中添加我想要显示的面板的键。然后我为 localhost:5000/panel1-uri 创建一个锚点 href,而不是调度一个事件(推送 /panel1-uri),但是当然,这仍然为默认面板提供服务。但是,我通过单击 href 收到的响应确实在其标题中包含正确的面板键。单击 href 后如何访问从响应中收到的此标头并使用它来更改面板?
或者,是否有更好的方法来解决服务 uri 的问题,不仅可以处理客户端中的事件,还可以直接输入到浏览器中?