将 HTML 嵌套在带有秘银的字符串中
Nesting HTML in a string with mithril
我想用 Mithril 的 m
生成以下 HTML:
<p>I am a <code>person</code></p>
.
我目前正在为此使用 m.trust
:
m.trust("<p>I am a <code>person</code></p>")
.
但我不喜欢 HTML 字符串。有更好的方法吗?
是的,使用 m
函数来执行此操作:
m('p', [
'I am a ',
m('code', 'person')
])
在这里查看整个组件:https://jsfiddle.net/rtkhanas/02adbhkt/
html 字符串从何而来?
如果您正在编写视图,请使用 m('p', ...) 而不是 m.trust
例如,如果只有 "person" 值是动态的,你应该有这样的东西:
window.WhoAmI = {}
WhoAmI.controller = function(attr) {
var ctrl = this
ctrl.gender = m.prop(attr.gender)
}
WhoAmI.view = function(ctrl) {
return m('p', [
'I am a ',
m('code',
ctrl.gender()
)
])
}
如果你从一个请求中得到了整个 html 字符串,那么这可能是一件坏事,你应该尝试重写你的 API (如果可能的话)只发送动态值到客户。
你应该有这样的东西:
m.module(document.body, {
view: function() {
return m('p', [
'I am a ',
m('code', 'person')
]);
}
})
我想用 Mithril 的 m
生成以下 HTML:
<p>I am a <code>person</code></p>
.
我目前正在为此使用 m.trust
:
m.trust("<p>I am a <code>person</code></p>")
.
但我不喜欢 HTML 字符串。有更好的方法吗?
是的,使用 m
函数来执行此操作:
m('p', [
'I am a ',
m('code', 'person')
])
在这里查看整个组件:https://jsfiddle.net/rtkhanas/02adbhkt/
html 字符串从何而来?
如果您正在编写视图,请使用 m('p', ...) 而不是 m.trust
例如,如果只有 "person" 值是动态的,你应该有这样的东西:
window.WhoAmI = {}
WhoAmI.controller = function(attr) {
var ctrl = this
ctrl.gender = m.prop(attr.gender)
}
WhoAmI.view = function(ctrl) {
return m('p', [
'I am a ',
m('code',
ctrl.gender()
)
])
}
如果你从一个请求中得到了整个 html 字符串,那么这可能是一件坏事,你应该尝试重写你的 API (如果可能的话)只发送动态值到客户。
你应该有这样的东西:
m.module(document.body, {
view: function() {
return m('p', [
'I am a ',
m('code', 'person')
]);
}
})