首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何编写外部函数来调用方法调用,同时将gleam代码编译为JavaScript?

如何编写外部函数来调用方法调用,同时将gleam代码编译为JavaScript?
EN

Stack Overflow用户
提问于 2022-03-27 08:05:28
回答 1查看 46关注 0票数 2

我正在尝试编写用于基本DOM操作的Gleam JavaScript绑定。我想用微光实现以下JavaScript功能:

代码语言:javascript
复制
const div = document.createElement('div');

div.classList.add('className');

我写此信的外部定义如下:

代码语言:javascript
复制
pub external type Document

pub external type HTMLElement

pub external fn create_elm(String) -> HTMLElement =
  "" "document.createElement"

// HOW TO WRITE FOLLOWING EXTERNAL DEFINITION
pub external fn add_class(HTMLElement, String) -> Nil =
  "" "$0.classList.add"

因此,对于add_class函数,我希望gleam编译到JS,这样第一个参数HTMLElement被用作对象,第二个参数String被传递给HTMLElement的某些方法。如何做到这一点?

我找不到这方面的任何文件在格莱姆网站上。我认为类似于寓言允许写外部绑定的方式是可能的。然而,这是行不通的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-01 21:29:20

Gleam没有任何使用OOP JavaScript的功能,所以在本例中,我将使用一些JavaScript胶水代码。

代码语言:javascript
复制
// in src/app.gleam

pub external type Document

pub external type HTMLElement

pub external fn create_elm(String) -> HTMLElement =
  "" "document.createElement"

pub external fn add_class(HTMLElement, String) -> Nil =
  "./app_ffi.mjs" "addClass"
代码语言:javascript
复制
// in src/app_ffi.mjs

export function(element, string) {
  element.classList.add(string)
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71634632

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档