带有angularjs的动态子域

ken*_*T07 6 subdomain angularjs

我是Angularjs的新手,我想添加动态子域名,例如sub.domain.com.通过更改sub,我可以从服务器询问正确的数据.但是,主页仍然是相同的.

sub1.domain.com并且sub2.domain.com将具有相同的home.tpl.html页面,除了返回的数据将特定于域.
其他页面也是如此.

有没有办法做到这一点?

Gre*_*egL 14

您需要关注的主要是$location服务,特别是$location.host()方法.这将返回完整的域名,从那里很容易获得子域名并使用它.

你甚至可以做一个非常简单的服务,你可以在任何地方注入,以便轻松访问子域.

就像是:

app.factory('subdomain', ['$location', function ($location) {
    var host = $location.host();
    if (host.indexOf('.') < 0) 
        return null;
    else
        return host.split('.')[0];
}]);
Run Code Online (Sandbox Code Playgroud)

然后,您可以在控制器,指令等中将其用作简单的可注入值.

app.controller('SomeCtrl', ['$scope', 'subdomain', function ($scope, subdomain) {
     // use subdomain same as any other variable
}]);
Run Code Online (Sandbox Code Playgroud)