如何在句柄帮助程序中访问父项

How to access parent item in handlebars helpers?

本文关键字:访问 帮助程序 句柄      更新时间:2023-09-26

我有一个模板。

{{#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>标签中的信息。这意味着值正在设置并正确绑定。但对于helper,当我试图传递它时,它只是显示未定义。我搜索了一下,发现可以用../dbModel.selectedTable。它仍然是未定义的。任何人都可以指导。
在每个循环中将父元素传递给helper的方法是什么?

您的#each循环将您放入tables数组的作用域。../将您置于dbModel对象的作用域中。要在循环中访问selectedTable,使用../selectedTable