转换到具有相同queryParams的相同路由时触发模型挂钩

时间:2015-08-20 15:48:23

标签: ember.js ember-data

如果queryParams没有更改(并且它们设置为refreshModel:true),如何在重新转换到相同路由时触发模型挂钩?

例如,现在我正在使用queryParam itemCount = 0进行路径'对话',它从我的后端请求10个对话。当我从商店卸载对话时,我现在有9个对话。

我想从我的后端重新获取10个会话(所以我总是至少有10个会话)但是使用相同的queryParam itemCount = 0.我该怎么办?

我在我想要刷新模型的控制器中尝试了这个:

import re
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
from itertools import product
def getPoints(l,n):
    strPoints = [l[i:i+n-1] for i in range(0,len(l),n)]
    points = [list(map(float, row)) for row in strPoints]
    return points

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
f = open('data.txt','r')
d = ''.join(f.readlines())
data = re.findall("(?<=\"export\"\n)([-.\d\se]*)",d)
coords = []
for l in data:
    coords.append(getPoints(re.findall('([+-]?\d*\.\d+(?:e[+-]?\d+)?)',l),4))
print(coords)
for each in coords:
    linePoints = list(zip(each[0],each[1]))
    ax.plot(linePoints[0],linePoints[1],linePoints[2])
plt.show()
Axes3D.plot()

但它不会触发我的模型钩子,我认为它适用于以下原因:

1 - 我已经在这条路上 2 - queryParam未更改

如何强制模型重新加载?我在路线上读到了重装方法,但我在这一切中都迷失了。

谢谢。

1 个答案:

答案 0 :(得分:0)

你看过Route#refresh方法了吗?我觉得这样的事情可能有用:

export default Ember.Route.extend({
  actions: {
    unloadConversation() {
      // ...
      this.refresh();
    }
  }
});