Ember View失去了内容

时间:2013-07-17 22:23:48

标签: ember.js

我正在研究一些代码来显示使用Ember灯具数据作为数据来源的D3图表。图表在第一次加载页面时显示正常,但如果我移动到另一个路径&然后返回第一条路线(带有工作图表的路线),图表就会消失。所以我想我的问题是,如何在每次访问路径时都显示图表?这是我的Route和View代码的样子,如果需要,将添加更多代码。

使用JS Bin更新:http://jsbin.com/ihapaz/2/edit

1 个答案:

答案 0 :(得分:2)

当您返回该路线时,该路线可能无法获取任何数据。使用linkTo时,model挂钩不会被触发。使用您传递给setupController的模型直接调用linkTo。但是,如果路由依赖于已触发的模型挂钩来加载数据,则视图将为空,因为它不会有任何要呈现的数据。

这是上面代码中唯一想到的东西。如果这不起作用,请尝试发布jsbin。

编辑:发布jsbin

看着你的jsbin后,我意识到我之前的回答是不正确的。通常,linkTo跳过模型挂钩是正确的,但仅当存在动态段时。您的路线没有动态细分。因此,将始终调用模型钩子,因此视图/图表正确地获取数据。

错误在于您render的实施。 render方法的目的是将html字符串推送到DOM上。这不适合自定义DOM插入。为此,您需要将内容放在didInsertElement方法上。

我做了这些更改,将render重命名为didInsertElement和相应的updateChart。这是更新的jsbin