[フレーム]
Last Updated: February 25, 2016
·
3.472K
· nelsonbrandao

Get current company from subdomain on AngularJS

Web apps like slack have the company name as a subdomain. This can be very useful for giving each company a personalized space. With AngularJS is really easy to get the subdomain and save it on a singleton service.

We first need a service that gets us the subdomain.

angular.module('app').factory('SubdomainService', [
 '$location', function($location) {
 var service = {};
 var host = $location.host();

 if (host.indexOf('.') >= 0) {
 service.company = host.split('.')[0];
 }
 return service;
 }
]);

Lastly we just need a simple service to hold the value.

angular.module('app').factory('CurrentCompanyService', [
 '$q', 'CompanyService', 'SubdomainService', function($q, CompanyService, SubdomainService) {
 var deferred = $q.defer();
 CompanyService.get_by_slug(SubdomainService.company).then(function(company) {
 return deferred.resolve(company);
 });
 return deferred.promise;
 }
]);

1 Response
Add your response

This is just what I need. As I am new to AngularJS could you please tell me how to display the current subdomain in a view?

over 1 year ago ·

AltStyle によって変換されたページ (->オリジナル) /