1

我在这里遇到了一个奇怪的问题。我想在“ParentView”中捕捉渲染的 Ember.CollectionView 中的一个动作。

{{#collection contentBinding="view.content"}}
    <a href="#" {{action insideCollection target="parentView">{{view.content}}</a>
{{/collection}}

但是 CollectionView 中的 parentView 仍然是 View 的子类,而不是 ParentView 本身(在我的示例中为 ApplicationView)。那么,我怎样才能在我的 ApplicationView 中捕获 Handlebars-Action?

这是一个自己看问题的小提琴:http: //jsfiddle.net/smgMt/3/

有任何想法吗?

4

1 回答 1

4

使用collection帮助器时,会为块中的每个内容创建一个隐式视图。所以在这里,如果你想访问ApplicationView,你必须调用两次parentView。

第二个提示是您必须在此链前面加上关键字view才能访问当前视图属性。

<script type="text/x-handlebars" data-template-name="application">
  <h1>Hello from Ember.js</h1>
  <button {{action test target="view"}}>Click to Test</button>
  {{#collection contentBinding="view.content" tagName="ul"}}
    <a href="#" {{action insideAction target="parentView.parentView"}}>{{view.content}}</a>
 {{/collection}}
</script>​

http://jsfiddle.net/smgMt/14/

于 2012-11-14T13:34:21.507 回答