我已经使用Elm玩了几天,我想移植Moment.JS,因为我发现缺少我想要的库,而Moment拥有我需要的一切.问题是我总是遇到同样的错误。我的native文件夹中有Moment.JS(名为MomentJS.js)和另一个名为Moment.js的文件(我的包装器)。问题是,当我在Moment.js中调用moment时,我收到一条错误消息,指出该moment未定义。我也尝试在我的elm文件中导入MomentJS.js,在Moment.js之前和/或之后。我还尝试将整个JS复制到Moment.js并在其末尾添加我的包装器。这些都没有用。你知道我能做什么吗?我一直在互联网上寻找类似的repo
我来自Elm社区,在Elm中,每个应用程序都有其View、模型和状态,并且基本上采用与redux非常相似的方法来解决问题,IMO。无论如何,我发现自己正在为多个reducer的想法而苦苦挣扎。在Elm中,我习惯为所有操作(消息)创建一个单独的文件,为“react”(View)创建一个单独的文件,为状态(模型)创建一个单独的文件,为所有reducer(更新)创建一个单独的文件。每个可能的操作都包含在更新文件中,更新文件不能分布在多个文件中,将所有逻辑放在一个地方。另一方面,Redux鼓励为reducer创建多个单独的文件,然后将它们与combineReducers组合,我发现这非常令人困
我需要在“更新”函数中运行一段计算量非常大的代码。当它运行时,我的整个应用程序都会阻塞,直到它完成。有没有办法异步运行这段代码来防止阻塞?(虽然不使用端口并留在elm中) 最佳答案 Elm任务不支持抢占式多任务处理。使用Process.spawn,您可以构建任务,当用作Task.andThen的参数时,这些任务将进行上下文切换。但是,对于那些,您必须在生成的任务具有TaskxProcess.Id类型的约束下工作,这意味着没有简单的方法将您的任务结果传回给主应用程序。参见thedocumentation对于Process.Id。
我们如何从Elm中的图像中获取像素数据?在JavaScript中,这是获取图形中一组像素颜色的代码(取自here)varimage=newImage;image.src="starry-night.jpg";varcanvas=d3.select("body").append("canvas");varcontext=canvas.node().getContext("2d");context.drawImage(image,0,0);//bewarevariablename"image"gotusedtwiceimage=context.getImageData(0,0,width,
尽管有很多关于如何在JS中模拟按键(keydown/keypress)的文章,但似乎没有一种解决方案适用于我正在使用的浏览器(FirefoxESR17.0.7、Chrome28.0.1500.72、IE10).我测试过的解决方案取自here,here,和here.我想做的是模拟文本区域/输入中的任何击键。虽然我可以追加/删除直接更改“值”的字符,但我看不到其他选项,只能为“向上”、“向下”、“主页”等键输入模拟。根据documentation,应该很简单。例如:vare=document.createEvent("KeyboardEvent");if(e.initKeyboardEve
假设您要创建一个包含3个按钮的UI。当您单击其中一个时,其他的将被释放。在JavaScript中,你可以这样写:varelements=["Foo","Bar","Tot"].map(function(name){varelement=document.getElementById(name);element.onclick=function(){elements.map(function(element){element.className='button';});element.className='buttonselected';};returnelement;});.butto
有没有办法在elm中读取文件?我想要一个xml设置文件,我将在其中保留不同的设置并用elm读取它(我已经看过这个parser,但它需要xml内容,而不是路径)。我不想使用端口和这些东西。我需要对这个xml应用一些转换,因为我将有更多的值集(暂存和生产)并且我需要为每个值生成一个人工制品(我正在使用TFS为此)。 最佳答案 截至今天(0.18.0),Elm正式不支持FileAPI以及其他与文件相关的API。您只能通过WebSocket或HTTP执行I/O。ports.涵盖了任何其他内容 关
我正在Elm中构建一个简单的应用程序,它只显示一个下面的div列表,我想添加无限滚动功能,以便在每次页面的最后一个div出现在视口(viewport)中时添加新内容。Elm有没有办法知道div何时出现在视口(viewport)中?作为替代方案,有没有一种方法可以将鼠标滚动事件作为信号进行跟踪? 最佳答案 目前Elm不支持滚动事件,因此您必须求助于使用端口。这是一个简单的例子。我们需要一个javascript函数来告诉我们列表中的最后一个元素是否在视口(viewport)中。我们可以从thisStackOverflowanswer中获
有没有一种方法可以在Elm中简单地转到一个新网页,类似于单击链接?我有一个按钮,单击该按钮后我想将用户带到另一个网页。我知道我可以将其设为a元素并使用CSS将其设置为按钮样式。但是,我正在使用elm-mdl创建MaterialDesign精简版按钮,无论如何我都想知道如何做到这一点。我已经尝试创建一个GoToStringMsg并在点击按钮时使用Button.onClick(GoTo"newpage.html"),但我不知道要为Cmd输入什么。我尝试了以下方法:GoTourl->(model,Navigation.newUrlurl)但这只会使地址栏中的URL发生变化,用户实际上并没有转
我在用mgold/elm动画动画Div的高度。我希望能够在0到适合我Div内容的高度之间过渡(相当于CSS的CSSheight:auto;)我找到了一个jQuery解决方案这里使用$(this).css("height","auto").height();为了获得正确的过渡高度。有没有办法在榆树中做到这一点?看答案这似乎是向我向我询问LIB的功能请求。在https://github.com/mgold/elm-animation/issues我要做的一件事是尝试使用Auto来达到该高度,并且它们可以使用显示器的大小,然后使用此尺寸,然后将此尺寸用作ELMAnimate的参数,但您可能会想到一种