Как сделать шаблон ractive с помощью этого объекта Javascript?

Я хочу получить доступ ко всем свойствам этого объекта.

var country = {
 country: "US",
 states : [{
    state: "california",
    capital: "sacramento"
    },
    {
    state: "texas"
    capital: "austin"
    }]
};

Я пробовал ff, но только делает значение страны.

{{#each country}}
   {{country}}

   {{#each states}}
      {{states.state}} {{states.capital}}
   {{/each}}
{{/each}}

2 ответа

  1. Вы пытаетесь выполнить итерациюcountry, как если бы это был массив, но в вашем примере это только простой объект. В таком случае это http://jsfiddle.net/ns8f8mwa / напечатает этот объект.
    Если вы мент к первому циклу из каждой страны, то Штаты, это http://jsfiddle.net/jgmbu7wr / является примером этого.

  2. Это часть, которая является неправильной:

    {{#each states}}
      {{states.state}} {{states.capital}}
    {{/each}}
    

    Так statesкак является массивом, states.stateничего не значит – просто используйте свойство напрямую:

    {{#each states}}
      {{state}} {{capital}}
    {{/each}}
    

    В стороне, это часто хорошая идея, чтобы структурировать ваши данные больше, как это:

    var country = {
      name: "US",
      states : [{
        name: "california",
        capital: "sacramento"
      },
      {
        name: "texas"
        capital: "austin"
      }]
    };
    

    Другими словами, элементы В statesявляются объектами со nameсвойствами – объект является состоянием, он не имеет stateсвойства. Я часто делал такие вещи в прошлом и пожалел об этом, потому что тогда вы находите запутанные ссылки state.stateв своем коде!