Om 컴포넌트의 클릭 핸들러 기능을 만들고 싶습니다. 난 항상 찾은 문서 및 스택 오버플로 예를 들면 나는 그것이 일반적으로 일반에 끝낼 방법 반작용,이 구성 요소 내에서 jsx/템플릿 영역 외부에 클릭 기능을 선언 청소기 생각이익명 함수를 사용하지 않고 Om에서 onClick 처리기를 만들 수있는 방법이 있습니까?
(defn main-view [_ owner]
(reify
om/IRender
(render [_]
(let [xs (items)]
(dom/div nil
(om/build sub-view {:title "View A"})
(om/build sub-view {:title "View B"})
(dom/button
#js {:onClick
(fn [e] (om/transact! xs #(assoc % 1 {:text "zebra"})))}
"Switch To Zebra!"))))))
같이 익명 함수를 선언 . 구성 요소 내 Om에서이를 수행하는 방법이 있습니까? 나는이 시도했지만 onclick을가 정의되어 있기 때문에 작동하지 않습니다
(defn my-component []
(reify
om/IRender
(render [this]
; Using Sablono syntax
(html [:h1 "Here is a heading" {:on-click 'onClick} ]))
onClick
(onClick [this]
; this part never gets executed when you click
(.log js/console "click"))))
나는 그것이 가능하다면 컴퍼넌트의 외부에 별도의 함수를 정의하지 않도록하고 싶습니다.
이 사소한 예는 오해의 소지가있을 수 있습니다 foo에의 인수 목록을 제거하지만 작동합니다. – myguidingstar