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 に答える