我一直在寻找教程和文件; 但我不明白下面的代码.2个文件中有2段代码; 服务; 和导入服务的文件.
这是服务角度文件(address-local.js)的一部分代码:
export default angular.module('erp.services.addressLocal', [])
.factory('addressLocal', addressLocal)
.name;
/* @ngInject */
function addressLocal($http) {
Run Code Online (Sandbox Code Playgroud)
这是一段文件代码,其中注入了服务(account.js):
import addressLocalService from '../services/address-local';
Run Code Online (Sandbox Code Playgroud)
我的问题是:
导出中的.name方法是什么; 我在网上看到的大多数例子都不使用.name方法
什么是在导出中使用'erp.services.addressLocal'; 在导入时没有使用,只需一个'import addressLocalService'; 什么是完整的文档语法?
/*@ngInject*/,有用吗?
在哪里可以找到关于.name的完整文档或我可以在"导出"中使用的所有方法?它的ES6与Angular混合在一起?
JB *_*zet 11
让我们逐一检查这些行:
angular.module('erp.services.addressLocal', [])
Run Code Online (Sandbox Code Playgroud)
这定义了一个名为的新角度模块'erp.services.addressLocal'.这个名字可以是任何东西.模块只是组件(服务,控制器等)的存储库.返回的值是创建的角度模块.
.factory('addressLocal', addressLocal)
Run Code Online (Sandbox Code Playgroud)
这会添加一个名为'addressLocal'angular模块的服务.该服务由工厂功能addressLocal定义,紧接在之后定义.这将返回角度模块.
.name
Run Code Online (Sandbox Code Playgroud)
这允许访问模块的名称.该值(即'erp.services.addressLocal')是由此文件中定义的ES6模块导出的值.
/* @ngInject */
function addressLocal($http) {
Run Code Online (Sandbox Code Playgroud)
这是创建并返回addressLocal服务的工厂函数.它使用注入的$ http服务.@ngInject由构建时使用的工具使用,名为ng-annotate,允许将上述代码转换为
['$http', function($http)]
Run Code Online (Sandbox Code Playgroud)
如果你缩小你的代码,这个奇怪的符号是必要的,因为minifier会改变$http为无意义和更短的东西a,而angular使用参数名来知道要注入什么.
import addressLocalService from '../services/address-local';
Run Code Online (Sandbox Code Playgroud)
这允许从精细地址local.js导入正在导出的内容,即模块名称.我不知道这行之后的代码是什么.但变量名称命名错误,因为addressLocalService它不是addressLocalService,而是第一个文件中定义的模块的名称.
| 归档时间: |
|
| 查看次数: |
4223 次 |
| 最近记录: |