簡體   English   中英

使用Ember.js,如何手動調整模板范圍並查看其相應的控制器?

[英]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.ViewEmber文檔 ,以及他們網站上介紹

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM