Условные операторы в Clojurescript с Hoplon и ячейками не работают

У меня вопрос по поводу условностей и хоплона. Когда я пытаюсь:

(defn mouse-enter
  [temp stuff]
  (reset! temp @stuff)
  (if (= "y" "y")
      (reset! mon-width {:width "0%"})))

Он изменяет свойство ширины CSS на 0, но, если я пытаюсь каким-либо образом использовать ячейку, это, похоже, не работает. IE.

(def week-view (cell "y"))
(def mon-width (cell {:width "50.333%"}))

(defn mouse-enter
  [temp stuff]
  (reset! temp @stuff)
  (if (= "y" (cell= week-view))
      (reset! mon-width {:width "0%"})))

Или же:

(defn mouse-enter
  [temp stuff]
  (reset! temp @stuff)
  (if (= "y" (str (cell= week-view)))
      (reset! mon-width {:width "0%"})))

Или же:

 (defn mouse-enter
   [temp stuff]
   (reset! temp @stuff)
   (when (= "y" (str (cell= week-view)))
         (reset! mon-width {:width "0%"})))

Или же:

 (defn mouse-enter
   [temp stuff]
   (reset! temp @stuff)
   (when (= (cell= "y") (cell= week-view))
         (reset! mon-width {:width "0%"})))

И этот работает, хотя значение недельного просмотра изменилось.

(def week-view (cell "n"))
(def mon-width (cell {:width "50.333%"}))

(defn mouse-enter
  [temp stuff]
  (reset! temp @stuff)
  (when (= (str (cell= "y")) (str (cell= week-view)))
        (reset! mon-width {:width "0%"})))

Я на самом деле не знаю, что происходит, но я просто пытаюсь получить истинный условный актив, когда "недельный просмотр" установлен на "у". Я пробовал булевы выражения, которые, похоже, не работают, и много других вещей.

Ура, Мэтт

1 ответ

Решение

Я думаю, что я понял это. Вы можете использовать символ @, чтобы получить значение ячейки. Вот новый код, который работает.

(def week-view (cell nil))
(def mon-width (cell {:width "8.333%"}))

(defn mouse-enter
  [temp stuff]
  (reset! temp @stuff)
  (when (= nil @week-view)
        (reset! mon-width {:width "30%"})))

Ура, Мэтт

Другие вопросы по тегам