问题标签 [mithril.js]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - Mithril ajax 包装器,m.request,将失败转换为成功
这很可能是我不知道的关于 JS 和/或 Mithril 的一些新手,但我已经围绕 Mithril 编写了一个缓存包装器m.request()
来跟踪多个挂起的请求,目的是合并多个相同的请求(这个概念非常适合后端 RESTful API)。
我的包装函数是这样的:
我遇到的问题是,当该.then(cleanup,cleanup)
子句存在时,来自主机的任何错误都会被then()
链接到请求的所有后续子句的成功函数接收,其最终效果是将失败响应转换为下游代码的成功响应。
如果我简单地注释掉上面的 then 子句,那么应用程序代码就会按预期调用成功或失败函数。
这似乎是一件非常直接的事情,完全符合 Leo 的例子,但我很难过。JS,特别是 promises 对我来说是新的,所以我不知道如何使用它们,或者如果这是预期的——我只是在遵循示例并尝试在它们的基础上进行构建。
我哪里错了?
javascript - 秘银承诺链中的 ReferenceError 被默默忽略
我正在使用 Firefox 32 和 Chrome 37,Mithril.js
现在已经被变量名中的拼写错误反复绊倒,只是默默地导致 JS 在引用点停止执行。对于来自 C 和 Java 的我来说,这尤其令人沮丧,因为我已经习惯了编译器在我尝试运行代码之前就捕捉到这些微不足道的错误。
我已将问题缩小到仅在作为 AJAX 承诺链的一部分运行的函数中发生,如下所示:
xctl.loading(false)
请注意函数中的故意done
——脚本似乎只是停在那里,但ReferenceError
抛出了 a。但是,没有记录任何内容。
我正在研究如何证明已经证明它现在被捕获并忽略了Mithril.js
,在这段代码中:
希望该社区的人能够说出我是否做错了什么,是否滥用了承诺链(??),或者它是否是Mithril.js
0.1.21 中的错误。
javascript - 如何在 Mithril 中对具有视图模型依赖项的视图进行单元测试?
我想知道如何在以下代码中对视图进行单元测试:
我目前有以下测试:
感谢您在这里的任何指导!在我看来,这样做的唯一方法是传入practice.vm
,但我不确定如何使用 Mithril 来做到这一点。
mithril.js - 为什么我的 MithrilJS UI 不会呈现,除非我在编程重定向后调用重绘?
这是一段视图代码。为什么没有 m.redraw() 就不能工作?如果我不调用它,路由会更改并且登录控制器会加载,但不会将任何内容呈现到 DOM 中。
javascript - 如何在 Mithril 中使用 m.request 对模型进行单元测试?
我正在尝试m.request
在无 DOM 环境中对秘银模型进行单元测试。
我使用浏览器的 XMLHttpRequest 在浏览器环境中将此测试用作集成测试,但希望可以选择单独运行它。
我正在考虑模拟 XMLHttpRequest 的响应以获得正确的初始化m.request
,但我不确定从哪里开始。我有一个从测试中删除的 XMLHttpRequest 的幼稚实现,并研究了m.request
.
m.request
因为我相信 Mithril 可以工作(并且在技术上是被测单元的依赖项),所以完全排除测试转换是否更有意义?这让我有点害怕,因为m.request
链接行为可能很难存根。
我很乐意接受一个回答,该回答通常描述了我需要采取哪些步骤才能在这方面取得一些进展,和/或一些关于什么是有意义的测试的建议。
目前,在没有输出或错误的情况下,超时运行此测试mocha
无济于事。
被测单元的来源,如果有帮助:
javascript - 如何使用 mithril.js 将 onchange 事件添加到选择标签并让选择标签也有选项兄弟姐妹
我不知道如何向元素添加事件和兄弟元素。
我现在拥有的示例:
和一个我认为可以工作但没有成功的例子。
我希望很清楚我的意图是什么。请注意,在示例 2 中移除了 onclick 事件,并在其父元素“select”中添加了 onchange 事件。
jquery - How does Mithril and jQuery interact with each other?
I am using Mithril as our MVC framework & I want to leverage of rich JQuery/Jquery UI functionalities. I would like to understand the 'Do's and Don't's' when combining jQuery with Mithril
What I understand is, I can use Mithril config to access the real DOM element & bind to various jQuery functions safely.
Using jQuery UI functions with Mithril
But what about using jQuery selectors on classes or ids to locate the real DOM element, like
attaching a jQuery date picker
or hiding a div
What is the danger of inprogress m.render causing $('blah') === undefined.
Would really like to understand the how these 2 components could/should interact with each other.
mithril.js - 避免在模块化视图模型上进行全局重绘
如何在更改子模块的视图时避免全局重绘 = 调用主视图函数,例如在主模块视图方法中:
静态显示方法如下所示:
现在,如果有一种方法可以在不运行主视图方法的情况下运行子视图的视图方法,那么它应该会增加已经很好的性能,以防子视图中的更改仅具有局部影响。这有意义吗?
阿克塞尔
javascript - Firefox 在克隆时清空 documentFragment
我发现了这种奇怪的情况,Firefox 在克隆后似乎丢失了 documentFragment 的内容(深度标志设置为true
)。这是一个 Firefox 错误,还是我缺少实现细节?
sass - 指南针不适用于秘银约曼发电机
我正在尝试运行Mithril yeoman 生成器,不幸的是它在grunt serve上出现错误
警告:运行“compass:server”(罗盘)任务警告:找不到罗盘二进制文件。确保已安装...
我当然可以使用 --force 继续,它工作正常,但不包含 css,这有点毫无意义,我的下一个选择是修改 gruntfile 以仅使用没有 Compass 的 Sass。
请注意,我已从grunt-contrib-compass 的问题日志中尝试了以下建议:
谢谢