1

我正在使用 D3.js 强制布局根据 ember.js 模型中的数据绘制节点和链接图。我有一个App.Device模型和一个模型(网络设备和App.Interface网络接口),所以我只需要遍历返回的数据即可生成要渲染的节点/链接。App.Device.find()App.Interface.find()

除了,没那么快。Ember 中的一切都是异步的。我从视图中查看了 Access 模型关联——但使用观察者意味着它仅在模型更改时重绘……而不是在导航到路径时重绘。我也无法弄清楚如何拥有一个作为两个发现结果的模型,因此只能让观察者看到我的两个结果之一。

我还发现了带有 raphael 或 d3 的 emberjs 视图——但那里的所有链接似乎都已失效/过时。

4

1 回答 1

0

我发现做我想做的最简单的方法是在路线内创建一个伪复合模型:

App.NetworkmapRoute = Ember.Route.extend({
   model: function() {
      return Ember.Object.create({
         devices: App.Device.find(),
         interfaces: App.Interface.find()
      });
   }
});

然后我可以在控制器上创建计算属性(必须ObjectController)并在视图中使用观察者来观察这些控制器属性并进行绘图。这似乎奏效了。

于 2013-05-24T19:14:17.917 回答