我陷入了这种情况。
我的登录页面中有一个开关,我想相应地重定向我的服务以进行授权。
我想在检查一些条件后动态加载我的服务,当我第一次启动我的应用程序时。但是因为我们有ng-app,所以我们需要在开始时注入所有模块。我的基本网址是在应用启动之前设置的。是否有可能在条件下更改我的基本网址?
在启动应用程序时,在启动第一页(即登录页面)之前分配基本URL。我的登录页面有一个开关,如果是,我需要设置不同的基本网址。但由于基本网址已设置且控件未再次出现在此模块中,因此我无法有条件地更改它。
angular.module('sampleService', ['ngResource'])
.factory('sample', function ($resource, $rootScope) {
$rootScope.serviceUrl = "http://......";
...
});
var app = angular.module("sampleApp", ["sampleService"]);
app.config(["$routeProvider", function ($routeProvider, $locationProvider) {
...
}]);
我想有条件地更改我的服务网址:
if(myflag)
$rootScope.serviceUrl = "url1";
else
$rootScope.serviceUrl = "url2";
我希望这会让我知道我想做什么以及我在做什么。
提前致谢。
答案 0 :(得分:1)
我想你在你的应用程序中使用ngRoute
,对吗?
也许您应该调查控制状态的uiRouter
。而你所描述的可以属于这一类。
https://github.com/angular-ui/ui-router
另请阅读this Stackoverflow content中两者之间的差异。
答案 1 :(得分:1)
是的uiRouter是动态页面加载的最佳解决方案
这是一个关于如何在代码中使用ui-sref的简单PDF, Simple Example