使用Typescript在AngularJS中注入工厂
发布时间:2020-12-17 07:35:19 所属栏目:安全 来源:网络整理
导读:所以在简单的老Angular中,你会像这样注入一个工厂: (function(angular){ "use strict"; var app = angular.module('app',[]); app.factory('MyFactory',['$http',function($http) { .... });}()); 现在使用Typescript,我试图像这样使用$inject: module Ser
所以在简单的老Angular中,你会像这样注入一个工厂:
(function(angular){ "use strict"; var app = angular.module('app',[]); app.factory('MyFactory',['$http',function($http) { .... }); }()); 现在使用Typescript,我试图像这样使用$inject: module Services { export class MyFactory { static $inject = ['$http']; constructor(private $http: ng.IHttpService) { } } } var app = angular.module('app',[]); app.factory('MyFactory',Services.MyFactory) //<-- This does not work,never is instantiated. app.factory('MyFactory',Services.MyFactory]); //<-- No deal,it has constructor dependencies // Seems you have to do this app.factory('MyFactory',($http) => new Services.MyFactory($http)]); 使用Typescript在Angular中注入工厂的正确方法是什么?
真正.这是因为从未使用new运算符调用作为第二个参数(MyFactory)传递的函数.如果要使用TypeScript类,则必须使用服务而不是工厂. 新操作符的使用是服务和工厂之间的唯一区别,因此您没有理由使用工厂.两者都是AngularJS中的单身人士. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Scala`view`:`force`不是`Seq`的成员
- the consideration of AngularJS in CSS, ng-model, Confir
- ORA-00704: bootstrap process failure 的处理
- shell 编程案例整理
- 有没有办法在Scala中编写这个Haskell代码?
- Scala泛型:require方法使用类的类型
- 使用提示选项进行AngularJS验证
- Angular find controller from element or no element
- [框架技术推荐]Bootstrap:快速开发Web应用程序的前端工具包
- 使用AngularJS过期cookie?