gpt4 book ai didi

javascript - 在 nginx 反向代理上使用 mithril.js 执行一些请求

转载 作者:行者123 更新时间:2023-12-02 23:54:24 26 4
gpt4 key购买 nike

我是前端新手,业余时间正在研究 mithril.js,我认为它很棒。刚才我正在阅读有关 m.request() 的内容,但有些东西我不明白。我在它的 oninit 函数中放置了一个从服务器获取一些数据的组件来填充变量。 view 中使用相同的变量来显示数据,但是一旦请求返回,就不会呈现数据。这是代码:

const m = require("mithril");
import Stuff from './stuff.js';
var WelcomePage = {
stufflist: [],
oninit: function(vnode) {
m.request({
method: "GET",
url: "wfd/stuff",
data: {offset:0, limit:5}
}).then((result) => {
WelcomePage.stufflist = result;
});
},
view: function(vnode) {
return (
<div>
Welcome! Have your stuff :)
<ul>
{
WelcomePage.stufflist.map(stuff => (
<li>
<Stuff stuff = {stuff}></Stuff>
</li>
))
}
</ul>
</div>
);
}
}
export default WelcomePage;

当然,请求以预期内容结束,并且 Stuff 组件工作正常。我错过了什么?

更新:我忘了提及这个 Mithril 页面位于我配置的反向代理后面。就我从代理移动而言,页面可以正常工作,因此可能存在错误。这是我的 dockerized nginx:alpine default.conf 文件:

server {
listen 80;
server_name stuff.dev;

#charset koi8-r;
#access_log /var/log/nginx/host.access.log main;

location / {
root /usr/share/nginx/html;
index index.html index.htm;
}

location /wfd {
proxy_pass http://localhost:8080/;
}
}

最佳答案

因为您可能只想更新组件的一个实例而不是

WelcomePage.stufflist = result;

你可能想要

vnode.state.stufflist = result;

然后在您的 View 中使用

vnode.state.stufflist.map(...)

注意:只要不使用箭头函数,您就可以使用 this 而不是 vnode.state

关于javascript - 在 nginx 反向代理上使用 mithril.js 执行一些请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55467831/

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