/ / Ручки отримують доступ до [об'єкта]? - javascript, backbone.js, handlebars.js

Рукоятки доступу до [object object]? - javascript, backbone.js, handlebars.js

Тож всередині моделі у мене така структура. Нижче наведено зразок будови.

var myModel {
_id: 798698,
username: "John",
message: {
message1: "Some cool messsage",
message2: "I"m mad Ohio State lost"
}
}

Я, мабуть, використовую маріонетку з магістраллю та руль. Звичайно, я маю вигляд колекції, який спочатку був лише колекцією моделей.

var Marionette = require("backbone.marionette");

var ChatView = Marionette.ItemView.extend({
template: require("../../templates/message.hbs")
});

module.exports = CollectionView = Marionette.CollectionView.extend({
initialize: function() {
this.listenTo(this.collection, "change", this.render);
},
itemView: ChatView
});

Тоді в /message.hbs шаблон є базовим, як цей.

<div class="message"><b>{{username}}:</b>{{message}}</div>

Добре, якщо ви подивитеся на структуру вище message очевидно [object object].

Тож до питання, в якому я впевнений, це легко і очевидно, як я замикаю цей погляд на кожен об'єкт всередині message: атрибут, так що сам шаблон є петлевим. Я думаю, що я правильно висловився.

Дивіться в ідеалі Було б непогано створити колекцію в межах моделі, але я не знав, як і предмети всередині message: будуються ванільним способом.

Тож сказане, що я сподіваюся, що є спосіб зафіксувати ці об’єкти за допомогою магістралі / магістралі.маріонет та руль.

Дякую

Відповіді:

1 для відповіді № 1

У своєму шаблоні використовуйте #each:

<div class="message">
<b>{{username}}:</b>
{{#each message}}
<div>{{this}}</div>
{{/each}}
</div>