加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

在AngularJS中有条件地注入服务

发布时间:2020-12-17 07:56:22 所属栏目:安全 来源:网络整理
导读:我已经定义了这样的服务: angular.module('myApp').service('myService',['$rootScope',...... 我希望我的服务仅为新用户实例化(即今天user.createdAt). 那么有没有办法有条件地注入我的服务或至少破坏我的服务,如果用户是旧的,没有任何副作用. 如果需要,您
我已经定义了这样的服务:
angular.module('myApp').service('myService',[
'$rootScope',...
...

我希望我的服务仅为新用户实例化(即今天user.createdAt>).

那么有没有办法有条件地注入我的服务或至少破坏我的服务,如果用户是旧的,没有任何副作用.

如果需要,您可以使用$injector服务动态获取注入:
app.controller('DemoCtrl',function($injector) {
  this.clicky = function() {
    myFact = $injector.get('myFactory');
    myFact();
  };
});

app.factory('myFactory',function() {
  return function() {
    alert('foobar!');
  };
});

这是一个完整的运行演示:http://jsbin.com/bemakemaja/1/edit

而$injector docs:https://docs.angularjs.org/api/auto/service/$injector

作为一般指导,虽然我建议不要设计您的服务,只需注入它们就会产生副作用.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读