从ContentBinding获取视图中的内容

时间:2012-09-19 11:20:17

标签: view ember.js

我遇到了新的Ember.js(1.0 pre)

的问题

我得到了一些关于Ember 0.9.8的东西,但是当我更改了这个lib的版本时,我发现了无法解决的问题。 (我对Ember并不擅长:/)

以下是示例代码: http://jsfiddle.net/ETQCc/5/

我创建了视图:

<script type="text/x-handlebars" data-template-name="MyView">
    {{s}} / {{content.s}} / {{this.s}} / {{view.s}}
</script>

App.myview = Em.View.extend({
    layoutName : "MyView",
});

我想展示一些变量,这取决于我在内容bindig中设置的内容:

<script type="text/x-handlebars">
     xx{{view App.myview contentBinding="App.ctrl"}}
</script>

如何在此控制器中找到变量?

2 个答案:

答案 0 :(得分:11)

你有两种方法可以做到这一点。 你可以:

  • 将控制器绑定到您的视图,而不是绑定内容(请参阅the JSFiddle)。通过这样做,您可以将视图的上下文设置为控制器,因此{{s}}可以直接使用:

{{view App.myview controllerBinding="App.ctrl"}}

  • 编辑模板以从视图中获取变量而不是其上下文(请参阅this JSFiddle)。通过这样做,视图内容被绑定到控制器,并且您的模板显示视图内容的s属性:

{{view.content.s}}

我建议你看一下Ember.js View Context changes

答案 1 :(得分:0)

我找到了答案...... 我应该用:     {{view.content.s}}