问题标签 [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 - 如何捕获中止的呼叫或将超时设置为 0 正确?
我有一个在 Chrome 和 Firefox 中工作的 JavaScript 客户端,但在 IE 中失败。查看 IE 调试器中的网络跟踪,它显示多个 AJAX 调用已中止。
我已经能够通过将超时设置为 0 来解决它。我想知道这是否是处理我的请求被中止的正确方法?基本上会出什么问题?
我最初的想法是我应该捕获并重新发送错误,如果多次重新提交没有导致完成请求,最后提醒用户。即使 setTimeout 是解决我当前问题的正确方法,我仍然想知道如何执行此操作。
此外,该应用程序将处理地址的 Excel 工作簿,调用 Web 服务向其中添加一些数据,然后允许用户下载增强的文件。
这是我到目前为止所拥有的,首先在 app.js
来自model.js
添加了循环
为什么代码部分没有触发错误?似乎我应该在这里添加一个延迟部分,但我尝试过的任何事情都是语法错误。
javascript - Updating/redrawing Mithril component views with external state changes (Redux)
New to Mithril but really want to like it. I coded demo app a few weeks ago using React and Redux for state management. I also used a library to connect the two, but it all works and can be seen at http://curiousercreative.com/demos/bankDemo/. After reading up on Mithril and liking a lot of what I read, I decided to translate the same demo app into Mithril + Redux, but I can't seem to get my Mithril mounted components to update/redraw and so updates to my Redux store (state) aren't ever reflected in the UI. From my app's js/app.js lines ~144-162, I have my Redux callback and my two top level Mithril components being mounted and passed our state.
If you open a console at http://curiousercreative.com/demos/bankDemo-mithril/, you'll notice a log entry every time you click on a new link (which changes the hash which updates the Redux state store). You'll also notice in the code above that every time that log occurs, a forced redraw of Mithril is supposed to occur, but of course the UI doesn't change. Compare it's behavior to the React demo app further above. In the app's js/components.js file, our two top level components take this state object as an argument and pass it down to their child components.
Why isn't Mithril redrawing?
javascript - Promise.all 与 m.sync
这两个功能有什么区别吗?
我最近Promise.all
在控制器中使用时发现了一个问题。该视图将在Promise.all
完成之前呈现,并且我会在视图中获得空变量。
因此,如果我使用一个m.request
来访问单个 api,那么视图会等待它完成。如果我使用很多m.request
包裹,Promise.all
那么它不会等待!难道我做错了什么?
这是正确的行为吗?m.sync
行为会有所不同,它似乎与 ? 具有相同的签名Promise.all
?
谢谢。
编辑
具有相关位的代码
编辑2
是的,m.sync
工作。但Promise.all
没有。
javascript - Mithril js,m.request() 循环和 concat 数组有什么好的方法吗?
见下文。
首先,该脚本从 Github API 获取 4 个项目并呈现一个列表。如果您提交“NEXT”按钮,脚本会在重新发送 Get 请求后重新绘制列表。
获取请求。
连接数组。
它按预期工作。但是,这是不好的解决方案,不是吗?我认为这个 concat 过程应该在 View-Model (repo.vm) 中完成。
有什么好的方法吗?或者这样可以吗?
javascript - 在秘银中无法获取响应内容
我一直在尝试向 NodeJS API 发出请求。对于客户端,我使用的是 Mithril 框架。我使用他们的第一个示例来发出请求并获取数据:
运行此程序后,我通过 Chrome 开发人员工具注意到 API 正确响应以下内容:
我找不到将这些数据获取到控制器中的方法。他们提到使用这种方法,var 可能会一直保持undefined
到请求完成,所以我按照下一个示例添加:
在模型之前并将请求更改为:
我可能做错了什么,因为我得到了相同的结果。
目标是从响应中获取数据并将其发送到视图进行迭代。
javascript - 聚合秘银中的组件
我的网页中有一个顶级组件,它聚合了其他组件。现在我需要一个组件仅在按下按钮时呈现,即在我的视图模型中设置一个标志。那么,我应该如何使用我的顶级组件呢?我是否应该根据标志的值使用 if else 条件,而不是在顶层包含隐藏组件。
这里我根据 show_comp() 的值来渲染隐藏的组件。这是惯用的方法还是我可以做得更好?此外,我发现其中一个警告是视图不应返回虚拟 dom 对象,就像我在上面的代码中返回的那样。那么,我会遇到上述代码的问题吗?
谢谢
javascript - 如何使用 Mithril.js 创建依赖关系?
我有一长串想要在<ul>
. 我想添加一个“过滤器”输入,以便用户可以将项目列表缩小到与过滤器匹配的项目。
我的控制器包含一个filter
道具和一个list
数组:
我update
在控制器中添加了一个方法,它查看filter
prop 并更新list
数组的内容:
最后,我的视图遍历list
数组并呈现项目。此外,它在顶部显示一个输入,绑定到filter
道具:
我的问题是,如何update
在值filter
更改时触发函数,以便获得更新的项目列表?
我需要定位两个oninput
事件吗?一个更新filter
一个开火update
?
Should I use a single oninput
event and update the filter
property within he update
function?
Anything else?
mithril.js - mithril.js 在 m.request 收到错误后死亡
这个描述起来很混乱,所以我就放一个视频
https://dl.dropboxusercontent.com/s/ju485susn7ypsgx/2015-12-09_15-03-50.mp4?dl=0
当我关闭服务器时, m.request 抛出错误(显然)net::ERR_CONNECTION_REFUSED
- 如何处理这些错误并将数据转换为空数组
[]
(我知道.then
接受成功和失败回调,但它似乎不起作用) - 为什么我重新打开服务器后应用程序无法开始工作?(似乎问题是
m.route
停止工作?)