我有一个模板。
{{#each dbModel in model}}
<h2>Database Name : {{dbModel.databaseName}}</h2>
<h3>Select Table:
{{view Ember.Select
content=dbModel.tables
optionValuePath="content.tableName"
optionLabelPath="content.tableName"
valueBinding = "dbModel.selectedTable"
selectBinding = "dbModel.selectedTable"
}}
</h3>
<h2>Selected Table is : {{dbModel.selectedTable}}</h2>
{{#each table in dbModel.tables}}
{{dbModel.selectedTable}}
{{#matchTable table.tableName dbModel.selectedTable}}
//Get fields is selected table match with table name
{{/matchTable}}
{{/each}}
现在,在matchTable帮助器中,我得到的是
table.tableName
的值,但对于dbModel.selectedTable is undefined
。dbModel.selectedTable不是实际模型的一部分,我将其添加到控制器中,如下所示。
App.DatabaseController = Ember.ArrayController.extend({
selectedTable:[],
actions: {
cancel: function () {
// something
}
}
});
当我更改select的值时,它会自动更新
<h2>
标记中的信息。因此,这意味着该值正在设置并正确绑定。但是当我尝试通过它的帮助者时,它只是显示未定义。我搜索发现可以使用../dbModel.selectedTable
。仍然是不确定的。任何人请指导。在每个循环中将父级传递给助手的方法是什么?
最佳答案
您的#each
循环将您带入tables
数组的范围。 ../
将您置于dbModel
对象的范围内。要在循环中访问selectedTable
,请使用../selectedTable