javascript - EmberJS: Object as Query Param to Refresh Model -


i followed query params guide (http://guides.emberjs.com/v1.11.0/routing/query-params/) , worked great. specifically, refreshing model did wanted.

i'm moving filter json-api spec , filtering takes place in filter object. rather than:

http://localhost:3000/accounts?id=1 

the server responds to:

http://localhost:3000/accounts?filter[id]=1 

i tried query params work refreshing model based on object, doesn't seem update.

// app/controllers/accounts/index.js  import ember 'ember';  export default ember.controller.extend({   queryparams: ['filter', 'sort'],    filter: {},   sort: '-id' });   // app/routes/accounts/index.js import ember 'ember';  export default ember.route.extend({   queryparams: {     filter: { refreshmodel: true },     sort: { refreshmodel: true }   },   model: function(params) {     return this.store.find('account', params);   }, });  // template <th>{{input type="text" placeholder="id" value=filter.id}}</th> 

is possible have query params work object?

this answer of ember version 1.13.0-beta.1+canary.

the short answer: no. query params not work object.

the long answer:

as of now, private function named _serializequeryparams in router serializes queryparams.

_serializequeryparams(targetroutename, queryparams) {   var groupedbyurlkey = {};    foreachqueryparam(this, targetroutename, queryparams, function(key, value, qp) {     var urlkey = qp.urlkey;     if (!groupedbyurlkey[urlkey]) {       groupedbyurlkey[urlkey] = [];     }     groupedbyurlkey[urlkey].push({       qp: qp,       value: value     });     delete queryparams[key];   });    (var key in groupedbyurlkey) {     var qps = groupedbyurlkey[key];     var qp = qps[0].qp;     queryparams[qp.urlkey] = qp.route.serializequeryparam(qps[0].value, qp.urlkey, qp.type);   } }, 

qp.urlkey evaluate 'filter' in example, , object serialized 'object [object]'. though override serializequeryparam method in route, wouldn't because queryparam key still 'filter', , you'd need 'filter%5bid%5d'

based on this comment in ember discussion forum, sounds object query params unlikely, , you'd better off flattening , unflattening filtered fields.


Comments

Popular posts from this blog

java - Spring Data JPA: Why findOne(id) executing delete query internally? -

python - Mongodb How to add addtional information when aggregating? -

java - Incorrect order of records in M-M relationship in hibernate -