使用Ember渲染数组{{each}}

时间:2016-07-05 19:33:35

标签: javascript ember.js

路由/numbers包含JavaScript:

// app/routes/numbers.js
// ...
numbers: [1,2,3,4,5],
// ...

并在路线的模板中:

<!-- app/templates/numbers.hbs -->
{{#each numbers as |n|}}
  <p>{{n}}</p>
{{/each}}

当我查看/numbers路由时,{{each}}帮助程序中没有任何内容呈现。为什么不呢?

1 个答案:

答案 0 :(得分:1)

您无法访问在模板中的路径中设置的属性。如果要访问模板中的数字数组,则需要使用{ "_id" : "mongors", "members": [{ "_id": 0, "host": "mongodbrs.cloudapp.net:27018" }, { "_id": 1, "host": "mongodbrs.cloudapp.net:27019" }, { "_id": 2, "host": "mongodbrs.cloudapp.net:27020" }] 在控制器中设置它。

&#34; Ember方式&#34;将数据传递给模板是为了获取路由的setupController钩子中的数据,然后在model

中的控制器上设置它

在您的路线中,请执行以下操作:

setupController

然后在您的模板中,使用model: function(params, transition) { return this.get('numbers'); }, setupController: function(controller, model) { controller.set('model', model); }

而不是访问数字数组
model

了解更多信息,请阅读:https://guides.emberjs.com/v2.6.0/routing/specifying-a-routes-model/