2016-02-05 6 views
1

Я работаю над проектом в метеор, который имеет коллекцию монго.meteor parse inested mongo collection in template

Назовем эту коллекцию "A".

Документы в «А» имеют следующую структуру:

{ id:"XXX", name:"YYY", array: { "1": text1, "2": text2 } } 

У меня также есть шаблон, чтобы показать этот вид документа в моем HTML:

<input type="text" name={{name}} value={{array.$1}} /> 

Значение в array.1 не представлено. Мой вопрос в том, как я могу представить это значение?

Я его прибегая к помощи долгого времени теперь, не нашел ничего полезного, кроме этого: Rendering MongoDB documents with Meteor

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

+0

Определение функции помощника было необходимо: шаблона .helpers:. 'array1' -> A.findOne ({_ ID: @_ ID}) .array [1] Затем внутри html просто вызовите функцию: {{array1}} –

ответ

1

Вы уверены, что хотите использовать знак '$'? В JS это не означает ничего особенного.

Например:

var array = {"1": "text1", "2":"text2"}; 
console.log(array.$1); 

Возвращается с "неопределенным".

И это название «массив» сбивает с толку, потому что его прототип не равен Array.prototype

Object.getPrototypeOf(array) === Array.prototype 

возвращается с «ложным».

Следующий код должен работать.

<input type="text" name={{name}} value={{array['1']}} /> 

Также проверьте это: JavaScript property access: dot notation vs. brackets?