Ember的新功能 - 将控制元素/视图绑定到控制器

时间:2014-08-19 02:14:49

标签: javascript jquery angularjs ember.js

我来自一个Angular背景,你可以通过标记属性将特定元素链接到控制器,并期待用Ember做类似的事情。但是,我不确定这是不是Ember的工作方式。

我只在我的应用程序的一小部分上使用Ember,它必须渲染图形。我希望将特定元素附加到从我的Node后端获取数据的特定控制器。

示例代码:

HTML:

#graph
  script(type="text/x-handlebars", data-template-name="index").
    {{pie-chart data=content}}

app.js:

App = Ember.Application.create();

App.IndexRoute = Ember.Route.extend({
  controllerName: 'application'
});

App.ApplicationController = Ember.Controller.extend({
  content: [
  {
    "label": "Equity",
    "value": 12935781.176999997,
    "type": "money"
  }
   ...
  ]
});

上面代码的问题是Ember将Ember Chart(饼图)附加到DOM的底部(因为我实际上并没有使用任何视图/没有指定rootElement。什么是构建这个应用程序的最佳方法,知道我对进一步扩展它以充当JS框架并不是特别感兴趣。

1 个答案:

答案 0 :(得分:2)

我需要一个应用程序模板来实现这一点我相信:

<script type="text/x-handlebars">
    <h2> Title </h2>

    {{outlet}}
</script>

插座是ember渲染所有视图的地方,包括你的索引。

您可以尝试将此添加到您的应用程序中吗?

根据评论进行编辑:

{{pie-chart data=content}}

你说“data = content”的内容实际上是:

“获取IndexController的内容并将饼图数据属性设置为该内容”

看起来您已在ApplicationController中定义了您的内容。尝试创建一个IndexController并像在AppplicationController中一样设置内容

我也会把它变成一个ArrayController因为我相信你传给它一个数组?