1

您好 Ember 绝地大师,

我正在学习 Ember 的框架,并在将其与车把助手一起使用时感到有些困惑。

首先,我在我的 js 和 html 中创建了一些视图模板,并使用 containerView 对这些模板进行分组。

但是我遇到了一个问题,我无法显示我在这些模板视图的控制器中描述的值。

我的 HTML 部分是这样的:

    <script type="text/x-handlebars" data-template-name="main">
        <p>this is main template</p>
        {{outlet nav}}
    </script>
    <script type="text/x-handlebars" data-template-name="nav">
    </script>
    <script type="text/x-handlebars" data-template-name="child">
        <p>this is the child in nav, value is {{value}}</p>
    </script>

这是我在 jsfiddle 上的示例代码(包括 JS 部分):http: //jsfiddle.net/9K7D4/

我的问题是:

  1. 虽然子视图是从容器视图呈现的,但我无法获得在子视图的控制器中定义的值。我一定错过了文档中的某些内容..只是想不通..

谢谢你帮助我!

4

1 回答 1

1

在您的示例中,虽然子控制器在应用程序初始化期间实例化,但它没有作为子视图的控制器连接(我认为框架中缺少一些东西)。

无论如何,如果你想在子视图中引用它,你必须通过路由器查找valueBinding: 'App.router.cController.content.value'。注意我使用的是小写字母,按照惯例,ember 将创建一个 XxxController 的实例为xxxController.

然后在模板中,当您想使用视图本身的属性时,您必须使用view关键字才能做到这一点。

http://jsfiddle.net/9K7D4/14/

于 2012-12-21T10:22:41.763 回答