![](/img/trans.png)
[英]In Ember.js, when you manually declare a view and its corresponding controller, is there a notion of scoping it to the current application state?
[英]Using Ember.js, how do I manually scope a template and view to its corresponding controller?
假設我發起了一個控制器:
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" }}
但是你會怎么做呢?
通過在視圖上設置controller
屬性,視圖會將其不知道的屬性轉發給控制器。
因此,使用您的示例,您可以:
App.pageView = Ember.View.create({
controller: App.pageController,
templateName: 'page-template',
}).append();
查看Ember.View的Ember文檔 ,以及他們網站上的介紹 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.