[英]Doing some requests using mithril.js on nginx reverse proxy
我是前端的新手,我在業余時間學習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
組件可以正常工作。 我想念什么?
更新:我忘記提及此秘銀頁面位於我配置的反向代理之后。 就我離開代理服務器而言,該頁面有效,因此可能存在錯誤。 這是我的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;
然后在您看來使用
vnode.state.stufflist.map(...)
注意:您可以使用this
的isntead vnode.state
如您未使用箭頭充當長。
嗯..問題是WelcomePage
組件在主.js
文件中呈現。 如mithril.js
doc 所述 ,如果您希望組件從auto-redraw
系統中受益,則必須將其掛載。 因此,安裝我的WelcomePage
解決了我的“問題”。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.