我希望我的模型在queryParams發生更改時重新加載。 queryParams更改反映在URL中,但模型重新加載沒有發生。我跟隨ember.js指南(https://guides.emberjs.com/v2.6.0/routing/query-params/)進行全面過渡。我在我的控制器宣佈我queryParams即使在queryParams發生變化後,也不重裝ember數據模型
//controllers/service/service.js
import Ember from 'ember';
export default Ember.Controller.extend({
queryParams:['showFriends']
});
//routes/service/service.js
model(params){
return this.store.query('service', params);
},
actions:{
updatePage(params){
this.transitionTo('service',{queryParams:{showFriends:params}});
},
},
queryParams:{
showFriends:{
refreshModel:true
}
},
我從中通過組件調用updatePage基於一個複選框選擇PARAMS爲真或假。該組件是從application.hbs文件名爲如下
{{test-component model=model updatePage="updatePage"}}
如果我刪除refreshModel:從我的路線真的,我看到的網址正在更新,但我的模型不重裝(根據文檔的預期)。
,因爲我正在做一個全面過渡我增加了行refreshModel:這給了我錯誤
ember.debug.js:32096 TypeError: this.refresh is not a function
at Class.queryParamsDidChange (ember.debug.js:26286)
at Object.triggerEvent (ember.debug.js:28580)
at Object.trigger (ember.debug.js:53473)
at fireQueryParamDidChange (ember.debug.js:52255)
at Object.queryParamsTransition (ember.debug.js:51983)
at Object.getTransitionByIntent (ember.debug.js:51913)
at Object.transitionByIntent (ember.debug.js:52018)
at doTransition (ember.debug.js:52590)
at Object.transitionTo (ember.debug.js:52087)
at Class._doTransition (ember.debug.js:28291)
我花了超過2天在這個問題上,但沒有使用正確的。任何遇到過類似問題或對如何解決這個問題有任何想法的人都會對我有很大的幫助。在此先感謝
你可以嘗試this.transitionTo('service.service',{queryParams:{showFriends:params}}); ..向我顯示你的路由器代碼,它將有助於調試 – kumkanillam