Это нормальное явление в backbone.js? - PullRequest
1 голос
/ 03 октября 2011

Кажется, я пишу что-то вроде этого при рендеринге представлений ...

_.each @model.nestedcollection.models, (nestedmodel) ->

, и я чувствую, что в какой-то момент мне, вероятно, нужно написать что-то вроде ...

_.each @model.nestedcollection.models, (nestedmodel) ->
    _.each nestedmodel.nestedcollection.models, (nestednestedmodel) ->
        #pass into new view

время от времени.

Это нормально или мне лучше разобраться с этим?

Ответы [ 3 ]

4 голосов
/ 03 октября 2011

Следует отметить, что помимо того, что уже было сказано, функции, перечисленные в документации по магистрали, непосредственно доступны в коллекциях магистралей.

вам не нужно вызывать _.each @model.nestedcollection.models, (model) ->, вывместо этого можно вызвать @model.nestedcollection.each (model) -> ... или любой другой правильный синтаксис синтаксиса для этого.

функционально такой же, поскольку он делегирует методу подчеркивания each, но его немного легче набирать и читать, посколькуэто прямо в коллекции.

4 голосов
/ 03 октября 2011

Это нормально.Базовые документы предоставляют список методов подчеркивания для итерации .Вы увидите _. Каждый в верхней части списка.Вы должны познакомиться с этими методами (если вы еще этого не сделали) и использовать наиболее подходящий.Ваш второй пример может быть хорошим примером использования _.each в качестве внешнего итератора и более специфическим типом итератора (например, выбрать, обнаружить, отклонить или уменьшить) в качестве внутреннего итератора.Выберите подходящую функцию итератора в зависимости от ваших намерений.

0 голосов
/ 03 октября 2011

обновление Я предпочитаю конкретный ответ Дерика для обработки вашего вопроса.Мое предложение слишком расплывчато.

Я не знаком с основой после рассмотрения документов.

sorta ООП: Вы можете создать объект, который автоматически перебирает составленные внутренние модели и отображает их.Таким образом, любая их комбинация будет автоматически перебирать свои внутренние модели и отображать их.

sorta Functional: В качестве альтернативы вы можете передать функцию рендеринга всем вашим вложенным моделям и попросить каждую из них использовать ее.

...