Angular-translate: Set custom loader option from controller -


today, have config translateprovider looking this:

app.config(['$translateprovider', function ($translateprovider) {   $translateprovider.preferredlanguage('en-us');   $translateprovider.useloader('translationloader', { versionidentifier : 127} );   $translateprovider.usemissingtranslationhandler('missingtranslationhandler'); }]); 

the problem don't know value of formidentifier-option @ configuration time. value after resolving first state in ui-route. i've tried set translationprovides loader in state's controller, realized that's not possible :)

any ideas?

angular-translate allows use service loader long meets desired interface. doesn't restrict in ways of how pass additional parameters loader. so, may pass them want.

for example, can set additional parameters directly loader. implement setters them on top of loader:

module.factory('loader', [ '$q', function($q) {      var myparam;      var loader = function(options) {         var allparams = angular.extend({}, { myparam: myparam }, options);         var deferred = $q.defer();          // load stuff          return deferred.promise;     };      loader.setmyparam = function(param) {         myparam = param;     };      return loader; }]) 

also, may try set these parameters helper service (either sync or async:

module.factory('syncloader', [ '$q', '$injector', function($q, $injector) {      var loader = function(options) {         var helper = $injector.get(options.helper);          var myparam = helper.getmyparam();          var deferred = $q.defer();          // load stuff          return deferred.promise;     };      return loader; }]); 

or

module.factory('asyncloader', [ '$q', '$injector', function($q, $injector) {      var loader = function(options) {         var helper = $injector.get(options.helper);          var deferred = $q.defer();          helper.getmyparam()             .then(function success(myparam) {                 // load stuff             }, function error() {                 // fail,             });          return deferred.promise;     };      return loader; }]); 

also, might possible use events somehow. or, maybe, there other ways possible. depends on specific architecture.


Comments

Popular posts from this blog

android - MPAndroidChart - How to add Annotations or images to the chart -

javascript - Add class to another page attribute using URL id - Jquery -

firefox - Where is 'webgl.osmesalib' parameter? -