如何访问Ember.View中的上下文?

时间:2012-11-03 12:07:25

标签: ember.js

我试图从视图对象上的基础对象集中获取记录ID,因此我可以在视图的HTML包装器上设置它。这是我正在尝试的内容:

// Row in record editing table view.
views.RecordActionTableRowView = Ember.View.extend({
  // Does not work.
  attributeBindings: ['record_id:data-record-id'],
  templateName: 'pult-record-action-table-row',

  init: function () {
    console.log(this);
    // Does not work either. Undefined.
    console.log(this.get('record_id'));
    // Does not work either. Undefined.
    console.log(this.record);
    return this._super();
  }
});

此视图是从模板调用的,因此其自己的模板包含正确的数据,但我无法在视图代码中找到它。有什么建议吗?

2 个答案:

答案 0 :(得分:3)

您可能需要this.get('context')this.get('content')。在某些情况下,如果在设置didInsertElement之前创建了视图,则在init中进行检查可能会比在context中更好。

答案 1 :(得分:0)

我刚刚面临同样的问题,尝试访问文档中描述的内容为templateVariables,在我的情况下,以下工作

this.get("templateData.keywords.myvarname")