Я пытаюсь добавить компонент Eshop_pane
"в некоторый div. Компонент Eshop_panel
находится в другом внешнем скрипте, поэтому я добавляю эту часть скрипта с $.getScript
, но этот компонент не будет отображаться. ? яMithril.js - getScript
m("div.fr", [
m("div", {class: ctrl.uid}),
$.getScript("some_panel.js").done(function(script) {
m.component(Eshop_panel, {})
})
])
//some_panel.js
var Eshop_panel = {
view: function() {
return [
m("div", "Hello world!"),
]
}
};
'$ .getScript' - это метод jQuery ... не функция Мифрила. Включили ли вы jQuery? Что говорит вам консоль? – rnevius
Вместо того, чтобы загружать компонент 'Eshop_panel' через функцию' getScript', вы должны потребовать его как модуль с помощью такого инструмента, как браузер. Если вы хотите загрузить внешний файл так, как вы его уже делаете, вы должны поместить вызов 'getScript' на контроллер (это лучше на модели, если оно у вас есть), а затем вызвать' m.redraw' на обратном вызове 'done', что делает компонент' Eshop_panel' доступным в представлении (например, 'ctrl.panel_component') с помощью getter/setter, который должен быть инициализирован« null »во время загрузки скрипта. – Vier