Ember.js/rendering把手上的嵌套数组内容
我有一个模型“transaction”,其中声明了一系列子类别。每当调用TransactionController的“add_subagtegory”方法时,此数组将填充事务类型对象。现在,当我尝试在嵌套循环(#集合)中呈现子类别时,我无法完成。渲染阵列控制器对象的外部循环(#each)工作正常。有人知道如何呈现子类别数组吗 app.jsEmber.js/rendering把手上的嵌套数组内容,ember.js,Ember.js,我有一个模型“transaction”,其中声明了一系列子类别。每当调用TransactionController的“add_subagtegory”方法时,此数组将填充事务类型对象。现在,当我尝试在嵌套循环(#集合)中呈现子类别时,我无法完成。渲染阵列控制器对象的外部循环(#each)工作正常。有人知道如何呈现子类别数组吗 app.js App.transaction=Em.Object.extend({ account:null, date:null, source:null,
App.transaction=Em.Object.extend({
account:null,
date:null,
source:null,
description:null,
category:null,
flag_for_later:null,
amount:null,
category_id:null,
record_index:null,
isSubCategory:null,
subCategories:[]
});
App.transactionsController = Em.ArrayController.create({
content: [],
add_subcategory: function(param){
var records=this.toArray();
if (typeof(records[param.value -1].subCategories) === "undefined") {
records[param.value -1].subCategories = new Array();
}
var category=App.transaction.create({
account:"//",
date:"//",
source:"//",
description:"//",
category:" ",
flag_for_later:" ",
amount:null,
category_id:records[param.value -1].subCategories.length + 1,
isSubCategory:true
});
records[param.value -1].subCategories.push(category);
App.transactionsController.set('content',[]);
App.transactionsController.pushObjects(records);
App.array.push(obj1);
}
});
以及模板:
<table>
{{#each App.transactionsController}}
<tr>
<td>{{account}}</td>
<td>{{date}}</td>
<td>{{source}}</td>
<td>{{view App.TextField class="span12" style="border:0px;" objcount=record_index fieldname="description" value=description}}</td>
<td>{{view App.TextField class="span12" style="border:0px;" objcount=record_index fieldname="category" value=category }}</td>
<td><button onclick="App.transactionsController.add_subcategory(this);" value="{{unbound record_index}}">+</button></td>
<td>{{view App.TextField class="span6" style="border:0px;" objcount=record_index fieldname="flag_for_later" value=flag_for_later }}</td>
<td>{{amount}}</td>
</tr>
{{#collection contentBinding="App.transactionsController.subCategories"}}
<b>content does,nt not render</b>
{{/collection}}
{{/each}}
</table>
{{{每个App.transactionController}
{{account}}
{{date}}
{{source}}
{{view App.TextField class=“span12”style=“border:0px;”objcount=record\u index fieldname=“description”value=description}
{{view App.TextField class=“span12”style=“border:0px;”objcount=record\u index fieldname=“category”value=category}
+
{{view App.TextField class=“span6”style=“border:0px;”objcount=record_index fieldname=“flag_for_later”value=flag_for_later}
{{amount}}
{{{#collection contentBinding=“App.transactioncontroller.subCategories”}
内容不呈现,nt不呈现
{{/collection}
{{/每个}}
在“集合”下的模板中,如何访问子类别
是否简单地将{{collection}}帮助程序的内容绑定到此子类别(
此
在您的上下文中是事务)起作用
更新
下面是一个JSFIDLE:
请注意,余烬版本是最新版本。您应该进行更新,因为0.9.5非常旧。
我没有看到
的行为,但是如果它不起作用,我想你现在已经有了使它起作用的所有关键:)我将余烬版本从最新版本修改为1.0之前的版本,并且点击+可以起作用
这很奇怪,因为您将子类别定义为事务对象中的数组。。。您可以发布一段JSFIDLE代码吗?好的,看起来add_category函数有问题。今天下午我去看看。你能用一个JSFIDLE编辑你的问题吗,或者至少展示一下你是如何使用这个函数的?这个函数的使用方式
+
将发布一个带有JSFIDLE的JSFIDLE简短更新的问题,点击(+)按钮添加子类别,但不显示任何内容
{{#collection contentBinding="this.subcategories"}}