我有一个过滤列表组件,它应该更新页面上的数据。根据在此组件中单击的过滤器,我尝试用它更新我的查询参数。
现在,我的过滤器正在工作并使用正确的参数注销,但是 this.transitionToRoute()
不正确/不工作。我认为this
的版本这不是我所期待的。
actions: {
updateQuery: function() {
//do stuff to get my newParams
console.log(newParams); //This echoes out nicely
this.transitionToRoute({queryParams: newParams}); //this returns "not a function"
return false;
}
}
newParams
的输出是:
{status: "KNOWN_TO_FAIL", owner: "spople,kuher,dwoods"}
所以我知道参数是正确的,我只是不知道如何更改 URL 参数并更新数据。
另一个可能是另一个问题的注释是,我需要这个来仅更新页面上的特定 div,而不是整个页面。我是不是找错树了?
最佳答案
组件没有 transitionToRoute
方法。如果您的 updateQuery
操作位于 Controller
中,则可以正常工作,该 Controller 确实具有 transitionToRoute
方法。您需要将操作传递回 Controller 以触发转换。
如果没有更多信息,很难判断您是否找错了对象。根据您在路由中配置查询参数的方式(您是否将refreshModel设置为true?),您可能会看到页面重新加载。
关于ember.js - Ember 从 Controller 中的操作更改查询参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50649797/