У меня возникли проблемы с получением примера мифрилового приветствия MVC.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, приложение TODO jsFiddle работает отлично.
Я думаю, что было бы разумно, чтобы основной пример MVC Mitrhil работал просто так, как это делает приложение Todo, и, возможно, ссылается на пример jsFiddle или CodePen для пользователей на fork, аналогичный React.
Спасибо, это означает, что пример на домашней странице Мифрила неверен? как не будет 'm.request ({method:" GET ", url:" pages.json "})' возвращать массив, или это возвращает метод. В любом случае может быть хорошей идеей иметь простую ссылку jsFiddle для вилки на своем сайте, используя массив или возвращая данные из конечной точки выборки. –
'm.request' возвращает GetterSetter, который является функцией, поэтому проблема возникла, когда вы изменили ее на массив. Хорошая идея с jsFiddle для примеров. Если вы хотите, откройте проблему для github (или сделайте запрос на тяну)! – ciscoheat