0

re-frame todomvc 视图命名空间包含一个函数 todo-item,其中包含以下代码段:

(when @editing
         [todo-edit {:class "edit"
                     :title title
                     :on-save #(dispatch [:save id %])
                     :on-stop #(reset! editing false)}])

:on-save 键被传递给并在包含以下代码段的 todo-input 函数中使用:

let [val (atom title)
        stop #(do (reset! val "")
                  (if on-stop (on-stop)))
        save #(let [v (-> @val str clojure.string/trim)]
               (if-not (empty? v) (on-save v))
               (stop))]

第一个片段中 % 字符的含义是什么:

:on-save #(dispatch [:save id %])

以及我应该如何在第二个片段中解释:

(on-save v)

?

在此处找到todomvc 视图命名空间。

4

1 回答 1

2

它是这个内联匿名函数定义的简写

(fn [x] 
  (dispatch [:save id x]))

欲了解更多信息,请参阅:

于 2016-05-12T20:55:32.963 回答