3

假设我启动了一个控制器:

    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" }}

但是你会怎么做呢?

4

1 回答 1

2

通过controller在视图上设置属性,视图会将它不知道的属性转发给控制器。

因此,使用您的示例,您可以执行以下操作:

App.pageView = Ember.View.create({
    controller:   App.pageController,
    templateName: 'page-template',
}).append();

查看Ember.View 的 Ember 文档,以及他们网站上的介绍

于 2012-11-16T01:55:53.283 回答