gpt4 book ai didi

javascript - 在 Backbone 模型中将数组渲染为列表

转载 作者:行者123 更新时间:2023-11-30 10:16:18 25 4
gpt4 key购买 nike

这是我发现的另一篇文章的扩展:Backbone: A list of views inside a view

我很难理解这一点(我以前从未使用过下划线)所以我认为最好发布一个关于这个的新主题。

场景

我有一个创建并列出各种信息的群聊模型。这包括该群聊中参与者的列表。我需要将该列表显示为正在渲染的模型的一部分。

代码

创建参与者数组

var participants = [];
$(iq).find('participants').each(function() {
var participantsNodes = this.childNodes;
for (var i = 0; i < participantsNodes.length; i++) {
var participantAttr = participantsNodes[i].attributes
var participant = participantAttr[0].nodeValue;
participants.push({"name": participant, "chatid": chatid});
}
});

...
model.set({
participants : participants,
chatid : chatid
...
});

项目 View

GroupChatView = Backbone.Marionette.ItemView.extend({
template : "#template-groupchat",
tagName : 'div',
className : 'alert alert-custom',

initialize: function(){
this.$el.prop("id", this.model.get("chatid"));
},

...

正在使用的模板

    <script type="text/template" id="template-groupchat">

<a id='close-<%= chatid %>' class='close hide' data-dismiss='alert' href='#'>
&times;
</a>
...
<div class='row' id='row-participants-<%= chatid %>' style='display: none'>
<!-- CUSTOM CODE SHOULD BE HERE? My attempt:
<% _.each(participants, function () { %>
<%= name %>
<% }); %>
-->
</div>

</script>

这会不断返回一个错误,指出“名称”不存在。我不确定我在原始帖子中做错了什么,我认为我将 participants 数组错误地传递给了 underscore.each() 部分。

最佳答案

我觉得问题之一是您没有将任何参数传递给 _.each 方法。

<% _.each(participants, function (participant) { %>
<%= participant.name %>
<% }); %>

希望它能解决您的问题。

关于javascript - 在 Backbone 模型中将数组渲染为列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23515580/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com