一周前,我遇到了emberjs和DataTables的问题。
我正在使用ember-data根据路由参数使用webmethods从asp代码隐藏中获取数据。然后我会使用该数据创建一个包含数据表的表。但是,当我更改路径时,更改了数据并因此更改了html,数据表将添加行,但它不会删除旧行。此外,没有任何功能可用于新行,每当我排序时,它都会删除新数据。
如果有人比我发布的答案更好,请告诉我。
答案 0 :(得分:0)
我查看并发现了很多关于这个主题或类似主题的问题;然而,所有解决方案都是黑客或性能成本高昂的。所以我找到了自己的。
它并不完美;我希望ember能够基于此实现一个事件。
我最初添加了一个控制器,用于在我的应用程序视图中导航。更改事件看起来大概如下:
paramsChanged: function () {
if (this.type && this.filingType.value && this.year && this.period) {
this.transitionToRoute('application');
Ember.run.next(this, function () {
this.transitionToRoute(this.type.value, this.year, this.period);
});
//console.log('persist');
}
}.observes('type', 'year', 'period')
这是改变申请路线(基本上删除子视图),然后移动到我接下来需要的路线。
虽然未经测试,但性能成本应该可以忽略不计。无论如何,我需要运行用于创建视图的代码,并且我已经在应用程序中了。我通过转换到索引来摧毁一点额外的东西,然后我在下一个运行循环中重新创建子视图,导致didInsertElement中包含的初始化代码被运行。