【发布时间】:2017-10-30 06:31:14
【问题描述】:
我使用 Javascript 创建了 HTML 元素。当我尝试将代码转换为 VueJS 时,页面加载时不会创建元素。
HTML
<div id="chat" class="chat-size col-centered margin-btm-50"></div>
VueJS
var chatSample = [
{name:"Julia", message: "Hi"},
{name:"John", message: "Hi"},
{name:"Julia", message: "Bye"}
];
chatSample.forEach(function (obj, i) {
var rowItem = document.createElement('div')
var chatItem = document.createElement('div')
var chatName = document.createElement('div')
var msg = document.createTextNode(obj.message)
var name = document.createTextNode(obj.name)
rowItem.className = 'chat-row margin-chat none'
if (i === chatSample.length - 1) {
rowItem.id = 'last'
}
if (obj.name === 'Police') {
chatItem.className = 'chat-right'
chatName.className = 'name bold text-right padding-chat-right'
} else {
chatItem.className = 'chat-left'
chatName.className = 'name text-left padding-chat-left'
}
chatItem.innerHTML = msg.textContent
chatName.innerHTML = name.textContent
var chat = document.querySelector('#chat');
rowItem.appendChild(chatName);
rowItem.appendChild(chatItem);
});
【问题讨论】:
-
有 1 个问题。在此:
if (i === chatSample.length - 1),chatSample是什么?如果您指的是上面的对象,您应该将其作为参数传递并访问它。 Updated Fiddle。注意,我不是vue的人,所以只是修复了JS部分。
标签: javascript jquery html vue.js