假设我发起了一个控制器:
App.pageController = Ember.Controller.create({
pageNumber: '12',
})
及其相应的观点:
App.pageView = Ember.View.create({
templateName: 'page-template',
}).append();
现在它的模板:
<script type="text/x-handlebars" data-template-name = 'page-template'>
<div class = 'page-background'>
page: {{ pageNumber }}
</div>
</script>
我打算让pageController为pageView提供渲染上下文,但我不知道如何为此明确提供指令,因此不会渲染pageNumber。
我可以通过在pageView中添加pageNumberBinding来解决这个问题:
App.pageView = Ember.View.create({
templateName: 'page-template',
pageNumberBinding: 'App.pageController.pageNumber',
}).append();
并按如下方式重写模板
page: {{ pageNumber contextBinding="this" }}
但你会怎么做呢?
答案 0 :(得分:2)
通过在视图上设置controller
属性,视图会将其不知道的属性转发给控制器。
所以,使用你的例子,你可以这样做:
App.pageView = Ember.View.create({
controller: App.pageController,
templateName: 'page-template',
}).append();