Я поначалу занимался сложными вещами и не мог понять, как создать список в списке с помощью backbone.js. Я, наконец, получил его, просто создав представление элемента списка для всех игроков в моем приложении. Затем создайте представление для всех команд внутри моего приложения.Хорошо добавить вид внутри представления?
Я «склеил» или «добавил» их вместе, создав представление приложения, которое их объединяет, есть все утверждения для обоих, перед тем как два представления были добавлены в корневой вид приложения, я добавил элемент списка игроков просмотрите представление команды. Позволь мне показать тебе.
Вот мой метод визуализации внутри вида приложения:Я просто не уверен, что это плохая идея или нет, я имею в виду, есть гораздо более эффективные способы, но это единственный метод, который я имел успех с. Это действительно имеет смысл для меня, я могу запускать события на каждый вид без проблем
render: function() {
var self = this;
this.teams.each(function(team) {
var teamView = new TeamView({ model: team });
var teamHtml = teamView.render().el;
var teamPlayers = this.players.where({team_id: team.get('id')})
_.each(teamPlayers, function(player) {
var playerView = new PlayerView({ model: player });
var playerHtml = playerView.render().el;
$(teamHtml).append(playerHtml);
}, this);
this.$el.append(teamHtml);
}, this);
return this;
},
Я спросил об этом и сказали, что было бы лучше, чтобы создать суб-представления, а я уверен, что это структура подзаголовка? Есть ли какие-либо дыры в этом методе, поэтому я хотел бы объяснить, почему этот метод плохой и как я могу его улучшить. И последнее, но не менее важное: я забочусь о чистом поддерживаемом коде, но самое главное, что у меня есть teams
оберните его уважаемый players
с результатом HTML, как показано ниже.
<div>
<ul class="lakers">
<li>Kobe</li>
<li>Pau</li>
</ul>
<ul class="spurs">
<li>Tony</li>
<li>Tim</li>
</ul>
</div>
Опять же идентификатор, как какая-то конструктивная критика, в основном ПРОФИ & CONS с подключением двух представлений, как это. Мне просто нужно спросить, прежде чем двигаться дальше. Я хочу убедиться, что я не попадаю в плохие привычки или не создаю проблем в своем коде, когда я начинаю расширять его, я уверен, что вы это понимаете.
О, вы видите, я попытался это, но смутился о том, как написать 'var teamPlayers = this.players.where ({team_id: team.get ('id')})' ну, я все еще, 'team.get' будет неопределенным. 'teamPlayers' работает только тогда, когда он внутри каждого командного цикла. –
Также путают, как бы я тренировал команды, есть 4 команды, которые имеют около 5-6 игроков. Может быть, я тупой и пропуская что-то простое, но это доходит до меня. –
Я знаю, что сложно понять, что делает команда teamPlayers, но на модели игроков есть атрибут 'team_id', который должен соответствовать соответствующей команде. 'team.get ('id')' может возвращать 1, 2, 3 или 4 (4 команды), тогда он добавит игроков с командой 'team_id' 1-4 к своей уважаемой команде. В этом все дело в том, чтобы смотреть, чтобы обернуть игроков и связать их. –