查看和渲染助手 emberjs 的上下文

context of view and render helper emberjs

我对模板的上下文感到很困惑,请参阅下面的代码

<script type="text/x-handlebars">
    <div>
        <h1>hello world</h1>
        {{view 'temp'}}
        {{render 'temp'}}
    </div>
</script>

var App = Ember.Application.create({
  LOG_TRANSITIONS: true
});

App.ApplicationController = Ember.Controller.extend({
    age: 13,
});

App.TempController = Ember.Controller.extend({
    age: 14,
});

App.TempView = Ember.View.extend({
    age: 123,
    template: Ember.Handlebars.compile('<div>{{age}}</div>')
});

对于 {{view 'temp'}},它呈现 13,因为它使用应用程序控制器作为其 scope/context 的视图。对于 {{render 'temp'}},据我了解,它将使用 TempView 和 TempController 作为其上下文。但是,它什么也没有呈现。 14 和 123 都不会渲染。它如何呈现分配给视图的年龄?

使用组件,它们的作用域是隔离的。

除了路由的最顶层之外,视图已被弃用。 Ember 1.12 预计也将允许在那里使用组件,然后将完全弃用视图。

演示:http://emberjs.jsbin.com/zirevu/1/edit?html,js,output