我想單擊「導出」按鈕,並將「導出」查詢參數設置爲true,將其轉移到路由「主目錄」。我不希望這個查詢參數刷新我的路線。因此,這裏是我的路由是怎麼樣子:URL中未顯示更改查詢參數
export default Route.extend(ApplicationRouteMixin, {
queryParams: {
export: {
refreshModel: false
}
}
})
在我的控制,我試圖觀察查詢參數並調用一個函數,它不出口了我之後,我想設置的查詢參數回到null。這裏是我的控制器:
import Ember from 'ember'
const {Controller, inject} = Ember
export default Controller.extend({
// == Dependencies ==========================================================
session: inject.service(),
// == Keyword Properties ====================================================
queryParams: ['export'],
export: null,
queryParamsObserver: function() {
if (this.get('export')) {
this.exportFile()
this.set('export', null)
}
}.observes('export'),
// == Functions =============================================================
exportFile() {
},
// == Actions ===============================================================
actions: {
}
})
但我的問題是,當我設置的查詢參數爲空,也不會在URL上改變。我想知道我在這裏錯過了什麼,不會導致這種行爲。 另外,我不知道如果使用觀察查詢參數是觸發某些操作的最佳解決方案。
所以基本上你想'出口'始終爲空,並只是用它來鏈接觸發導出? – Lux
好吧不總是空,我希望它被設置爲null當我最初轉移到該路線能夠下載文件。然後在下載後立即將其設置爲空。這個導出按鈕在應用程序級別,可以從所有路線訪問。所以用戶將能夠通過點擊導出按鈕再次將導出查詢參數設置爲真。 – user5471528