0
我正在使用Mithril.js將我的個人網站/博客創建爲單頁應用程序。我網站上的所有頁面和博客文章均使用Page
和Post
組件呈現,並且基於URL中的:slug
加載正確的頁面。Mithril組件在路由更改時未更新
我的問題是每當我嘗試切換頁面時,頁面的內容都不會更新。在頁面和帖子之間切換的原因是因爲我在Page
和Post
組件之間交替。但是當我嘗試連續兩次使用相同的組件時,從頁面到頁面,它不會更新網頁。
m.route(document.body, '/', {
// `Home` is a wrapper around `Page`
// so I can route to `/` instead of `/home`
'/': Home,
'/:slug': Page,
'/blog/:slug': Post
});
const Home = {
view() {
return m(Page, { slug: 'home' });
}
};
這裏是Page
成分(Post
組分是非常相似的)。這兩個組件都正確呈現
const Page = {
content: {},
oninit(vnode) {
m.request({
method: 'GET',
url: 'content.json',
}).then((response) => {
Page.content = response.pages[vnode.attrs.slug];
});
},
view() {
if (Page.content) {
return [
m('#content', m.trust(Page.content.body))
];
}
}
};
爲什麼米索里爾沒有意識到slu changed變了?
謝謝!我只是c絞死':slug'到':key',現在它工作! :) – evanrelf