问题标签 [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.
mithril.js - Mithriljs 不会根据数据的变化更新 DOM
我在某处读到,每次发生事件时都会更新 DOM,并且绑定到 DOM 的数据会发生变化。所以我想更多地了解它。我尝试了下面的代码,但是当 textarea 中的数据发生变化时 DOM 不会更新,但每当我单击或按 Tab 键时它都会更新。
我什至尝试过m.startComputaion()
,但它们m.stopComputation()
都m.redraw()
不起作用。
javascript - 在 Mithril 中使用 m.component() 时如何遍历 VDOM?
我是 Mithril 的新手,但对它执行良好编码模式和关注点分离的方式感到非常高兴。参考这个我开始编码,大量使用 m.component()。
后来我阅读了 Mithril 文章“当 CSS 让你失望”(http://lhorie.github.io/mithril-blog/when-css-lets-you-down.html),它解释了如何编写 Transformer-Functions遍历和操作虚拟 DOM 树。编写几种横切关注点的绝妙概念。
但是当我尝试将此模式与包含组件的 VDOM 一起使用时,它不起作用,因为 m.component 返回的是组件而不是 VDOM-Object。检测组件无济于事,因为此时尚未构建嵌入式视图。
现在我在问自己,如何处理这个问题,或者我是否误解了一些根本性的错误......
这里有几行代码显示了问题:
其他人如何处理这个问题?
twitter-bootstrap - 使用 mithril.js 的引导按钮之间的水平空间
使用纯引导程序时,按钮之间的水平空间很小。
如果元素是用 mithril.js 创建的,这个空间就会消失:
是什么导致引导程序在按钮之间添加小空间?如何在 mithril.js 中重现它?
javascript - 如何不在秘银中重新渲染整个列表
我使用 react 已经有一段时间了,想试试 Mithril.js。
浏览了文档和示例并喜欢我所看到的,所以我说我应该动手并开始编码!
我有一个简单的 API 调用,它接收 JSON 数据,然后输出ul
包含所有项目的列表。我已经为动画集成了 GSAP TweenMax,我想要实现的非常简单 - 我在加载时淡入所有内容,然后onclick
我想淡入淡出一个元素并将其从 DOM / 数据中删除。
似乎正在发生的事情是元素正在淡出,整个ul
列表正在重新渲染,并且该元素保留在 DOM 中,不透明度为 0:
我很新……昨天才开始阅读。
html - 如何在 Mithril.js 中获取浏览器高度以进行动态分配
所以我有一个下拉菜单,并试图给它一个动态的高度;使用mithril.js怎么可能?
这是我到目前为止所尝试的:这是一段代码,我试图给列表一个动态高度。最终目标是让列表具有动态高度,以便在固定导航栏上使用overflow-y:scroll
.
javascript - Mithril:在事件/动态上渲染组件
试图掌握秘银的窍门,并不能真正理解一件事。我可以在事件上渲染组件吗?
假设我有一个父组件:
它呈现标题组件(和菜单的占位符(我什至需要它吗?)):
当用户单击菜单链接时,我想从我的 API 加载菜单项,然后才呈现菜单。
这部分显然行不通
那么,问题是在事件上渲染组件的正确方法是什么?
mithril.js - m.prop() 没有按预期工作
目前我正在使用Mithril
and创建一个简单的应用程序CoffeeScript
。
代码如下:
当我运行该应用程序时,它给了我以下错误:
未捕获的类型错误:ctrl.email 不是函数
我认为错误的可能原因是该mount
功能未正确配置模块。
为什么 m.prop() 在这里不起作用?
javascript - 将可拖动事件委托给父元素
我有嵌套在 a 中的可拖动li
元素ul
又嵌套在 a 中div
,如下所示:
这些元素有多个,div
我正在尝试实现拖放功能以将li
一组元素移动div
到另一组。
我在这里连接了ondragenter
,ondragleave
回调:
当event.target
回调的 始终是 中的嵌套子元素时,问题就出现了div
,例如li
,因此回调会不断被触发。在这种情况下,我正在div.group
使用回调更改 的颜色,从而导致div.group
不受欢迎的闪烁。
有没有办法委派事件,只允许div
祖父母li
处理事件?或任何其他解决此问题的方法?
编辑:仍然很想知道是否有办法做到这一点,但现在我正在使用我在这里找到的解决方法。
mithril.js - Mithril.js: Should two child components talk to each other through their parent's controller?
I'm a bit stuck looking for the right way to do the following. I have a parent component with two child components (see simplified code below). I would like to know the proper way for ChildA
, when its button is pressed, to 'invoke' ChildB
. They should communicate through the parent, but should they communicate through their controllers? In that case the parent has to pass its controller to the controllers of the children.
frontend - 用于前端开发的 Mithril 中的 API 模拟,例如 jquery-mockjax
我在物联网框架中使用秘银。我试图将前端开发与后端 API 实现任务隔离开来。在 jQuery 中,我使用了 jQuery-mockjax 和 Angular 中的类似机制。我的理解是,这些库拦截 ajax 函数调用并适当地响应使用 $.mockjax (或类似函数)设置的数据
此处推荐的机制https://groups.google.com/forum/#!topic/mithriljs/FzpCPMfauf0没有提供实现此功能的灵活性。对于选定的少数 API,没有简单的方法可以使用 mock。
查看代码后,我意识到,要实现这一点,我需要访问“ajax”函数(或只是 XHR 处理部分),以便可以使用我自己的可以模拟所选 API 的实现来覆盖它。问题是 ajax 是库中的本地函数。如果它作为 m.ajax 公开,我的库可以覆盖它并获得我需要的功能。
我的问题是,有没有更好的方法来实现同样的目标?如果你做过类似的事情,请分享。
我的代码结构将是这样的:
上面两个文件是我在开发模式时在页面中插入的。其余代码保持不变。