作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 JavaScript 和 JSON 数据从我的数据库呈现 HTML 页面。但是,某些数据应呈现为图像,而其他数据应呈现为链接。如何更改或添加 HTML 标签?
在数据库中,我存储的内容没有任何 HTML 属性:
{
"projects" : {
"one" : {
"a" : "E-Network",
"b" : "/images/projects/unfccc/logo.gif",
"c" : "/unfccc",
"d" : "The E-Network"
},
"two" : {
"a" : "User Experience Design",
"b" : "/images/projects/rex/logo.gif",
"c" : "/rex",
"d" : "Rejseplanen Experience"
}
}
}
然后,我使用 React 将带有键值对的对象传递给消息组件。然后,我在回调方法中使用 Object.keys 在各个标记内呈现 project.one 的内容:
class Message extends React.Component {
render(){
function mapObject(object, callback) {
return Object.keys(object).map(function (key) {
return callback(key, object[key]);
});
}
return (
<div>
{mapObject (this.props.data.one, function(key, value) {
return <h1 key={key}>{value}</h1>
})}
</div>
)
}
}
export default Message;
输出:
但是我如何控制每个键值对渲染的标签?我看到的唯一解决方案是将四个 Object.key 相互嵌套并扁平化数据库结构,但我认为这不是一个很好的解决方案,您能告诉我一种在 HTML 标记内呈现数据的更好方法吗?
最佳答案
您总是返回 <div><h1></div>
。如果您检测到图像或链接,请使用适当的标签 image
或a href
关于javascript - 循环遍历对象键并向值添加标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39138623/
我是一名优秀的程序员,十分优秀!