我正在使用Ember.js,版本为1.7.0-beta.1
,在我的最新项目中。我使用查询参数功能使列表在进行硬刷新后仍然保留选定项(例如,重新加载后,列表中选择的项目仍然被选中)。
我有一个控制器来管理这个功能:
export default Ember.ObjectController.extend({
queryParams: [{selectedFiles: 'files'}],
selectedFiles: Ember.A([]), //list of file ids
... //other props
actions: {
selectFile: function(file) {
//set or remove the file id to the selectedFiles property
}
});
它非常好用,但有一个条件:URL是经过编码的:
Chrome和IE:
path/354?files=%5B"6513"%2C"6455"%2C"6509"%2C"6507"%2C"6505"%2C"6504"%2C"6511"%5D
FF (自动设置括号):
path/354?files="6513"%2C"6455"%2C"6509"%2C"6507"%2C"6505"%2C"6504"%2C"6511"]
在Ember中是否有一种方法可以将查询参数字符串解码为更易读的格式?也许我可以在某个地方使用decodeURIComponent()
函数?
期望的输出:
path/354?files=["6513","6455","6509","6507","6505","6504","6511"]
Ember.$.ajaxSettings.traditional = true;
,请参考 https://discuss.emberjs.com/t/persisting-multiple-query-params-of-the-same-name/8174/4 - Alan Dong