【发布时间】:2014-07-10 05:03:29
【问题描述】:
我有一个模板。
{{#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。仍然是未定义的。请任何人指导。
在每个循环中将父级传递给助手的方法是什么?
【问题讨论】:
-
一些想法:尝试设置 itemController,我不确定没有它你是如何访问 selectedTable 的。尝试使用 {{with}}。我创建了一个 jsbin 来尝试重现它,它正在工作:emberjs.jsbin.com/fakaqoru/2/edit
-
谢谢,但没用。
标签: javascript jquery model-view-controller ember.js handlebars.js