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

angularjs – Angular.js对象中的函数参数名称如何连接到其他对

发布时间:2020-12-17 08:09:44 所属栏目:安全 来源:网络整理
导读:假设我已经在Angular.js中创建了一个带有服务和控制器的模块,我可以像这样访问控制器内的那个服务: var myapp = angular.module('my-app',[]);myapp.factory('Service',function() { var Service = {}; Service.example = 'hello'; //etc.. return Service
假设我已经在Angular.js中创建了一个带有服务和控制器的模块,我可以像这样访问控制器内的那个服务:
var myapp = angular.module('my-app',[]);

myapp.factory('Service',function() {
  var Service = {};
  Service.example = 'hello';
  //etc..
  return Service;
});

myapp.controller('mainController',function($scope,Service) {
  $scope.greeting= Service.example;
});

在这个例子中,Service对象将被传递给控制器??,并且像这样构造代码不会改变代码的行为:

myapp.controller('mainController',function(Service,$scope) {
  $scope.greeting= Service.example;
});

那么Angular.js怎么“知道”什么是函数参数呢?

Angular简单地解析依赖关系的函数的toString()表示。从 the docs:

In JavaScript calling toString() on a function returns the function definition. The definition can then be parsed and the function arguments can be extracted.

但是,请注意,如果您的代码被缩小,这种方法将失败。因此,Angular支持一种替代方法(我建议始终使用它)语法,使用数组:

myapp.controller('mainController',["$scope","Service",Service) {
  $scope.greeting= Service.example;
}]);

(编辑:李大同)

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

    推荐文章
      热点阅读