gpt4 book ai didi

mithril.js - 在第一个 Action 停止 Mithril 重绘

转载 作者:行者123 更新时间:2023-12-03 18:24:48 31 4
gpt4 key购买 nike

我正在使用 Mithril 编写单页应用程序。该页面在主要组件的 oninit 中使用 m.request() 从服务器加载一些数据:

var root = document.getElementById("main");
var Data = {
fetch: function () {
m.request({
method: "GET",
url: "/api/read"
})
.then(function (items) {
// init models with data
});
}
}

var Home = {
oninit: Data.fetch,
view: function (vnode) {
return m("div", [components]);
}
}

m.route(root,
"/",
{
"/": Home
});

数据是一个巨大的json,页面是通过确保满足某些外键约束并更好地可视化来帮助编辑json。一切都按预期工作,直到调用一个组件,该组件实际上将一个全新的条目添加到我拥有的任何 json 对象中。在此阶段,页面重新加载,数据再次获取,所以我丢失了所有更改。它只发生一次,而且只发生在这个电话上:

jsonModel[propertyName].push(JSON.parse(newObject))

在第一次重绘后我可以随意修改页面,这个问题不会再发生了。我什至可以在不发生这种情况的情况下刷新。

我的结构是否存在根本性错误?可以阻止这种刷新吗?

最佳答案

听起来你想调用event.preventDefault()onclick <button> 的处理程序然后,防止它自动提交表单。

您还可以采用其他几种方法,但这是最简单的方法。

关于mithril.js - 在第一个 Action 停止 Mithril 重绘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50159818/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com