【发布时间】:2017-11-26 02:20:10
【问题描述】:
使用 Mithril,一个 Javascript 框架,我正在尝试添加 new 元素在初始主体已经创建和呈现。
这是我最基本的问题:
let divArray = [];
let newDivButton = m('button', { onclick: ()=> {
divArray.push(m('div', "NEW DIV PUSHED"));
}}, "Add new div");
divArray.push(newDivButton);
divArray.push(m('div', "NEW DIV PUSHED"));
let mainDiv = {
view: () => {
return divArray;
}
}
m.mount(document.body, mainDiv);
上面的代码将创建一个按钮和 一个 行文字说NEW DIV PUSHED。该按钮添加了一个与第一个完全相同的新文本元素。这里的问题是,即使调用了view 函数,这些附加元素也根本不会呈现。我进入了代码,清楚地看到我的 divArray 正在被填充,即使它们没有被渲染。
我注意到的一件事是,初始文本元素(被渲染的那个)的 dom 属性由实际的 div 对象填充。我数组中的所有后续文本元素都将其dom 属性设置为undefined。我不知道如何解决这个问题,但我确信这与我的问题有关。
【问题讨论】:
标签: javascript html dom mithril.js