秘银模板转换器使用
Posted
技术标签:
【中文标题】秘银模板转换器使用【英文标题】:Mithril template converter usage 【发布时间】:2019-12-23 02:52:20 【问题描述】:我正在尝试完成这里发生的确切事情:https://arthurclemens.github.io/mithril-template-converter/index.html
基本上,我让用户将 HTML 字符串插入文本框,并且我想将该字符串转换为可以与 m
辅助方法一起使用的对象。
例如我必须转换这个:
<div class="foo"><p>bar</p></div>
变成这样:
m("div", "class":"foo",
m("p",
"bar"
)
)
理想情况下,我正在寻找某种类型的工作流程,例如:
function myComponent()
let myHTML = "<div class="foo"><p>bar</p></div>";
return(m(convertHTML(myHTML));
我研究了各种超文本/vdom 转译器,但它们都没有按照 Mithril 期望的确切格式创建树,所以我需要与上面列出的网站非常相似的功能才能工作。
我猜这根本不可能,因为对 m 的嵌套函数调用方面。
【问题讨论】:
【参考方案1】:我能够通过 eval 即时使用模板:
import templateBuilder from "mithril-template-builder"
const source = '<div class="foo"><p>bar</p></div>';
const template = templateBuilder(
source
);
function myComponent(props)
let object = eval(template);
return(object);
【讨论】:
以上是关于秘银模板转换器使用的主要内容,如果未能解决你的问题,请参考以下文章