在 angular 中是否可以在不刷新页面的情况下重新实例化服务和工厂?
Is it possible to reinstantiate Services And Factories without refreshing page in angular?
我需要在 services.For 示例中动态更改 domainUrl 我需要通过选择特定组织来获取用户列表,并且 url 应该相应地更改。
app.factory('User', ['$resource', function($resource) {
var baseUrl = 'http://foo.com/users'
return $resource(baseUrl + '.json');
}])
我需要 baseUrl“http://example.com”来选择另一个组织。我不想刷新页面。
试试这个:
app.factory('User', ['$resource', function($resource) {
return function(baseUrl) {
baseUrl = baseUrl || 'http://foo.com/users';
return $resource(baseUrl + '.json');
}
}])
现在 User
工厂将 return 一个函数,您可以使用 baseUrl 调用该函数来实例化资源。
app.controller('exampleController', function(User) {
var example1 = User('http://www.example1.com');
var example2 = User('http://www.example2.com');
})
我需要在 services.For 示例中动态更改 domainUrl 我需要通过选择特定组织来获取用户列表,并且 url 应该相应地更改。
app.factory('User', ['$resource', function($resource) {
var baseUrl = 'http://foo.com/users'
return $resource(baseUrl + '.json');
}])
我需要 baseUrl“http://example.com”来选择另一个组织。我不想刷新页面。
试试这个:
app.factory('User', ['$resource', function($resource) {
return function(baseUrl) {
baseUrl = baseUrl || 'http://foo.com/users';
return $resource(baseUrl + '.json');
}
}])
现在 User
工厂将 return 一个函数,您可以使用 baseUrl 调用该函数来实例化资源。
app.controller('exampleController', function(User) {
var example1 = User('http://www.example1.com');
var example2 = User('http://www.example2.com');
})