这行代码中的每个函数在角度js中暗示或引用
What are each of the functions in this line of code in angular js alluding or referring to?
myMod.config(function($provide) {
$provide.provider('greeting', function() {
this.$get = function() {
return function(name) {
alert("Hello, " + name);
};
};
});
});
这是一个angularjs代码,用于为我提供一个名为greeting的自定义服务。我将在代码中将此服务注入到控制器中。代码对我来说工作正常。我感到困惑的是,在这个特定的代码部分中调用单词函数的次数。请谁能说出每个功能所暗示的内容。例如,行 this.$get = function()
中的函数引用提供程序方法的$get方法。$provide.provider('greeting', function()
行中的函数指的是什么?而且我似乎也不知道其他函数指的是什么?另外作为旁注,我了解了一种称为"匿名"函数的函数。它们是什么,为什么被称为匿名?不按特定名称定义函数是否有益?
请查看下面的代码,该代码可能更具说明性。它等效于您的代码。
解释:
- 在
myMod
模块上调用.config
方法。它的参数是用于配置模块的function
。在这种情况下,会将新provider
添加到模块中。 - 第二个函数完成这项工作。我在您的
module
上注册了一个新的provider
.为此,此注册功能需要此新提供程序的名称以及provider object
。对象可以有一个$get method
(方法只是另一个函数)。在您的情况下,这是通过调用this.$get
来实现的。 - 创建提供程序的新实例时,将调用提供程序的
$get method
。$get method
返回要使用的实际函数。在您的情况下,它是函数greeting
.
myMod.config( registerProvider($provider) );
/////
function registerProvider($provider){
var
providerName = 'greeting',
provider = providerObject;
$provider(providerName, providerObject);
}
var providerObject = {
$get: function() {return greeting}
};
function greeting(name){
alert('Hello');
}
相关文章:
- 可以't让我的if语句处理js中的html表单输入
- 使用agility.js进行页面布局和合成
- 使用Clipboard.js复制span文本
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 强制模板刷新ember.js
- 如何编写HTML输入的JS内联
- Angular JS IE9 Hashbang url rewriting
- 使用JS将数组转换为json对象
- Node.js v6.2.0类扩展不是函数错误
- 当js函数's已执行
- 要求未定义JS回调参数
- 在自定义mean.io包中使用angular-chart.js作为依赖项
- 无法在数据endVal中设置值=“”;{{ucount}}”;使用Angular JS的CountUp
- 如何从Java/scala调用js美化程序
- 如何更改<svg>标记为<img>用js标记
- 如何使用 node.js 比较两个 json 数组
- chrome扩展:尽管运行了at:documentidle,js脚本还是过早启动
- 节点Js:How to catch a“;没有这样的文件或目录“;读取线模块出错
- Selectize.js:如何对整数值的选项进行排序
- 这行代码中的每个函数在角度js中暗示或引用