我怎样才能用这个 Javascript 对象制作一个 ractive 模板?
How can I make a ractive template with this Javascript object?
我想访问这个对象的所有属性。
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}}
您正在尝试迭代 country
就好像它是一个数组,但在您的示例中它只是一个普通对象。在这种情况下,此 http://jsfiddle.net/ns8f8mwa/ 将打印该对象。
如果你想先循环每个国家,然后是各州,这个 http://jsfiddle.net/jgmbu7wr/ 就是一个例子。
这是不正确的部分:
{{#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
的引用令人困惑!
我想访问这个对象的所有属性。
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}}
您正在尝试迭代 country
就好像它是一个数组,但在您的示例中它只是一个普通对象。在这种情况下,此 http://jsfiddle.net/ns8f8mwa/ 将打印该对象。
如果你想先循环每个国家,然后是各州,这个 http://jsfiddle.net/jgmbu7wr/ 就是一个例子。
这是不正确的部分:
{{#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
的引用令人困惑!