Ember.js中的可枚举对象(键值映射)
Ember中是否有支持Ember.Array/Ember.Enumerable的键值对象 我想在我的把手模板中用Ember.js中的可枚举对象(键值映射),ember.js,ember-data,Ember.js,Ember Data,Ember中是否有支持Ember.Array/Ember.Enumerable的键值对象 我想在我的把手模板中用{{{each}}对它们进行迭代 我的用例显示来自服务器的任意JSON(用户定义字段)(下面给出的示例)。我可以从嵌套数组递归创建视图(使用eachhelper),但不能迭代对象。我的计划是找到(或编写)一个对象,该对象将包装JSON对象并允许它们可枚举。这样做的最佳方式是什么 到目前为止,我的想法是将扩展/混合Enumerable/Array/ArrayProxy/ObjectPro
{{{each}}
对它们进行迭代
我的用例显示来自服务器的任意JSON(用户定义字段)(下面给出的示例)。我可以从嵌套数组递归创建视图(使用each
helper),但不能迭代对象。我的计划是找到(或编写)一个对象,该对象将包装JSON对象并允许它们可枚举。这样做的最佳方式是什么
到目前为止,我的想法是将扩展/混合Enumerable/Array/ArrayProxy/ObjectProxy
,将底层键值存储存储为Ember.Array
,并添加keys
字段来存储对象的键。然后,我可以使用setUnknownProperty
和unknownProperty
来设置/获取基础值,并保持键的同步。这种做法合理吗
来自服务器的JSON格式
下面是一个示例(用户记录自己的训练数据)请注意,这只是一个示例;格式完全灵活,因此我无法创建余烬数据模型来对这些用户定义的字段进行建模。总的来说,数据可以是任意复杂的JSON(任何程度的散列、数组、原语嵌套)
就我所知,Ember.js的理念是,声明性把手模板非常保守,可以强调在模板中使用较少的逻辑
在上面的例子中,我建议您使用提供JSON作为上下文 你的json有多随意?您是否可以发布一些示例数据,其中显示了您希望支持的不同格式以及您希望如何迭代这些格式?我不是专家,但我认为这会很有帮助。@Aras我刚刚用一些例子更新了这个问题。基本上,数据格式可以是任何格式,因为它都是用户定义的…您应该看看一个新的路由器API:。它允许使用每个辅助对象迭代对象。
{
"bench_press":[
{
"weight":95,
"repetitions":5,
"tags":[
"warmup"
]
},
{
"weight":135,
"repetitions":3,
"tags":[
"warmup"
]
},
{
"weight":155,
"repetitions":3,
"tags":[
"warmup"
]
},
{
"weight":165,
"repetitions":2,
"tags":[
"warmup"
]
},
{
"weight":185,
"repetitions":1,
"tags":[
"warmup"
]
},
{
"weight":195,
"repetitions":1,
"tags":[
"warmup",
"overshoot"
]
},
{
"weight":190,
"repetitions":5,
"tags":[
]
},
{
"weight":190,
"repetitions":5,
"tags":[
]
},
{
"weight":190,
"repetitions":5,
"tags":[
]
},
{
"weight":190,
"repetitions":3,
"tags":[
]
},
{
"weight":190,
"repetitions":2,
"tags":[
"negatives"
]
}
]
}