簡體   English   中英

如何在cljs中調用js實例的方法

[英]How to call a method of js instance in cljs

我對 cljs 很陌生。 我正在用 re-frame 練習 cljs。 我遇到了訪問 js 實例方法的問題。

(->> quill-contents
    (.parse js/JSON)
    (.setContents @editor))

如果我嘗試調用.setContents的 .setContents ,這是用r/atom包裝的 js 實例(實際上,它是 Quill 編輯器實例)。 實際上,這段代碼在開發模式下運行良好,但在發布構建后會引發錯誤,例如xi(...).hi is not a function

我猜.setContents在發布版本中被編譯為.hi ,所以它無法從 js 實例中找到方法。

我正在使用shadow-cljs來構建這個重新構建的項目。

我該如何解決這個問題?

這是由於缺乏外部人員。 @editor前面添加^js

(->> quill-contents
    (.parse js/JSON)
    (.setContents ^js @editor))

在這種情況下,它將自動為setContents生成一個 extern。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM