gpt4 book ai didi

javascript - mithril hello world MVC 示例不起作用

转载 作者:行者123 更新时间:2023-11-28 00:30:18 26 4
gpt4 key购买 nike

我在运行 Mithril hello world MVC 示例时遇到问题。

这是我的代码,复制自 Mitrhil homepage 。请注意,我所做的唯一更改是将 m.request({method: "GET", url: "pages.json"}); 方法调用交换为手动生成的页面对象。

//namespace
var app = {};

//model
app.PageList = function() {
var pages = [];
pages.push({title: 'page 1', url: '/page1.html'});
pages.push({title: 'page 2', url: '/page2.html'});
return pages;
};

//controller
app.controller = function() {
var pages = app.PageList();
return {
pages: pages,
rotate: function() {
pages().push(pages().shift());
}
}
};

//view
app.view = function(ctrl) {
return [
ctrl.pages().map(function(page) {
return m("a", {href: page.url}, page.title);
}),
m("button", {onclick: ctrl.rotate}, "Rotate links")
];
};

//initialize
m.module(document.getElementById("example"), app);

正如你所看到的,我上面的例子在 jsFiddle不起作用,但另一个 Mitrhil 示例,待办事项应用程序 jsFiddle工作正常。

我认为基本的 MVC Mitrhil 示例可以像 Todo 应用程序那样简单地工作,并且可能链接到 jsFiddle 或 CodePen 示例以供用户 fork,类似于在 React 中。

最佳答案

有一些对 pages 的调用,这些调用本来应该是变量引用,因为它是一个数组。修复方法如下:http://jsfiddle.net/jug68s27/4/

ctrl.pages() -> ctrl.pages

pages().push(pages().shift()) -> pages.push(pages.shift())

关于javascript - mithril hello world MVC 示例不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29067932/

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