从ContentBinding获取视图中的内容

SiM*_*Met 3 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",
});
Run Code Online (Sandbox Code Playgroud)

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

<script type="text/x-handlebars">
     xx{{view App.myview contentBinding="App.ctrl"}}
</script>
Run Code Online (Sandbox Code Playgroud)

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

lou*_*uio 11

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

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

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

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

{{view.content.s}}

我建议你看一下Ember.js View Context的变化.