ClojureScript:要求 "goog.dom query" 作为 q
ClojureScript: require "goog.dom query" as q
我对导入有点困惑,需要语义..
我正在尝试使用 Google 的 clojure 库的 dom 部分中的查询函数。
(import '(goog.dom query))
(def q query)
不幸的是,它不能使用 require :as :
(require '(goog.dom [query :as q]))
一次偶然的机会,我发现查询功能已被弃用。我不太明白为什么。我只是在寻找一个简单的不花哨的抽象(相当方便的简化)来制作 dom manipulations/selections。我知道有很多,我只需要一个快捷方式来避免为每个小项目编写像 by-id select 这样的助手。
你走在正确的道路上。在这种情况下你应该使用 require 。导入用于您要构建的 class。
(ns foo
(:require [goog.dom :as dom])
(:import [goog History]))
(dom/getElement "app")
(History.)
如果您使用的是 figwheel repl,则可以改为这样做
(require 'goog.dom)
(goog.dom/getElement "app")
或
(require '[goog.dom :refer [getElement]])
(getElement "app")
或类似。
query
不再可用,但有很多有用的函数,例如 getElement getElementByClass getElementsByTagNameAndClass 等
对于 repl 交互,您最好使用 querySelector https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelector 代替:
(js/document.querySelector ".myclass")
我对导入有点困惑,需要语义..
我正在尝试使用 Google 的 clojure 库的 dom 部分中的查询函数。
(import '(goog.dom query))
(def q query)
不幸的是,它不能使用 require :as :
(require '(goog.dom [query :as q]))
一次偶然的机会,我发现查询功能已被弃用。我不太明白为什么。我只是在寻找一个简单的不花哨的抽象(相当方便的简化)来制作 dom manipulations/selections。我知道有很多,我只需要一个快捷方式来避免为每个小项目编写像 by-id select 这样的助手。
你走在正确的道路上。在这种情况下你应该使用 require 。导入用于您要构建的 class。
(ns foo
(:require [goog.dom :as dom])
(:import [goog History]))
(dom/getElement "app")
(History.)
如果您使用的是 figwheel repl,则可以改为这样做
(require 'goog.dom)
(goog.dom/getElement "app")
或
(require '[goog.dom :refer [getElement]])
(getElement "app")
或类似。
query
不再可用,但有很多有用的函数,例如 getElement getElementByClass getElementsByTagNameAndClass 等
对于 repl 交互,您最好使用 querySelector https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelector 代替:
(js/document.querySelector ".myclass")