0

re-frame todomvc views 名前空間には、次のスニペットを含む関数 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 %])

そして、2番目のスニペットでどのように解釈する必要がありますか:

(on-save v)

?

ここで todomvc ビューの名前空間を見つけます。

4

1 に答える 1

2

このインライン無名関数定義の省略形です

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

詳細については、次を参照してください。

于 2016-05-12T20:55:32.963 に答える