我对模板的上下文感到很困惑,请参阅下面的代码
<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&#39; temp&#39;}},它呈现13,因为它使用应用程序控制器作为其范围/上下文。对于{{render&#39; temp&#39;}},根据我的理解,它将使用TempView和TempController作为其上下文。然而,它什么都没有。 14和123都不会渲染。它如何呈现分配给视图的年龄?
答案 0 :(得分:0)
使用组件,它们的范围是隔离的。
除了路径的最高级别之外的所有用途都不推荐使用视图。 Ember 1.12预计也允许在那里使用组件,然后视图将被完全弃用。