【问题标题】:Clojure Secretary - Dispatch on URL ChangeClojure 秘书 - 关于 URL 更改的调度
【发布时间】:2015-04-06 11:21:08
【问题描述】:
秘书可以根据提交的浏览器 url 调度路由吗,许多 javascript 路由框架的工作方式?我似乎找不到任何将其连接起来的示例。
例如,当您在浏览器的 url 中输入 http://myapp.com/#/my/route 时,我希望它像我在 repl 中以编程方式输入 (secretary/dispatch! "/my/route") 一样进行调度。
【问题讨论】:
标签:
clojure
url-routing
secretary
【解决方案1】:
它可以,但不能单独使用。最常见的方法是使用 Google Closure,如 README.md 示例中所示:
(let [h (History.)]
(goog.events/listen h EventType/NAVIGATE #(secretary/dispatch! (.-token %)))
(doto h (.setEnabled true)))
当您在上面的示例中调用 setEnabled 时,NAVIGATE 事件将自动针对当前位置触发,这将导致调用 dispatch!。